Games on Linux might see your Framework Laptop 16’s keyboards as gamepads.

This is because the QMK-based firmware1 running on them includes the a HID descriptor that reports the System Controls usage2. Linux uses the contents of that usage to fill out things like the absolute coordinate range and button set.

Now, udev classifies a device as a joystick if it has absolute coordinates and joystick buttons. This is understandable, because joysticks have those things.

Unfortunately, QMK keyboards also have absolute coordinates and joystick buttons if you define EXTRAKEY_ENABLE3. There is an issue on the QMK repository from May 2025 documenting the impact this has on Steam.

If you need a quick fix, you can override udev’s detection with a rule. Place this text in /etc/udev/rules.d/99-framework-keyboard.rules

# Disable the joystick indicator on Framework input devices.
SUBSYSTEMS=="input", ATTRS{id/vendor}=="32ac", ENV{ID_INPUT_JOYSTICK}=""

This rule will become problematic if Framework ever releases a gamepad.

Run udevadm trigger or reboot, and your extra gamepads should disappear.


  1. FrameworkComputer/qmk_firmware  ↩︎

  2. HID Usage Tables 1.6 (PDF) ↩︎

  3. This is required if you wish to use any of the KC_SYSTEM_* keys. ↩︎