protonscr

Steam Input can be bypassed by keyboard fake joystick under Proton

steamclosed
ValveSoftware/steam-for-linux#13335 · opened 2026-06-21 by majdmina · updated 2026-06-21 · 1 comments · github
Mmajdmina 2026-06-21 github

Summary

Steam Input can fail for a Proton-launched Windows game when a keyboard dongle exposes a fake joystick interface. The Proton/Wine side can open the fake keyboard joystick instead of the intended Steam virtual gamepad, making the real controller appear broken or unmapped.

Minimal environment

  • Linux desktop, Arch/CachyOS-family system
  • Steam stable client build: 1781041600
  • Proton Experimental
  • Real controller: DualSense Wireless Controller, Bluetooth HID 054c:0ce6
  • Conflicting device: Keychron Link keyboard dongle, USB HID 3434:d031
  • The Keychron device exposes keyboard/mouse interfaces plus a joystick interface.

Observed behavior

With Steam Input enabled for a Proton-launched Windows game, controller input was broken. The real DualSense was visible to Steam, but the game/Wine input stack opened the Keychron fake joystick device instead of relying only on Steam's virtual controller.

Sanitized live evidence:

Keychron Link fake joystick:
  USB HID: 3434:d031
  exposed as joystick/event device

DualSense:
  Bluetooth HID: 054c:0ce6

Wine/Proton input handle during broken state:
  winedevice.exe opened the Keychron joystick event device

Steam controller logs also showed repeated detection of Product: Keychron Link. In one broken state, the game-specific Steam Input layout was effectively empty (controller_base/empty.vdf), after which the Proton side fell back to raw input and selected the fake joystick.

Expected behavior

When Steam Input is enabled for a game, Proton-launched games should not be able to accidentally use unrelated keyboard HID joystick interfaces ahead of the Steam virtual gamepad. Steam Input should either hide/filter these fake joystick interfaces or make the virtual controller reliably preferred.

Workaround that fixed it

The game started working only after hiding raw/conflicting joystick devices and leaving the Steam virtual controller enabled:

  • disabled input-remapper service/autoload
  • inhibited the Keychron fake joystick interface
  • inhibited raw DualSense joystick/motion evdev interfaces
  • left the Steam virtual Xbox-style controller device enabled
  • relaunched the game from Steam

After that, controller input worked.

Privacy note

This report intentionally omits user paths, account IDs, full logs, and game-specific local shortcut data. The relevant technical details are the HID IDs and the Steam Input/Proton behavior above.

Kkisak-valve maintainer 2026-06-21 github

Hello @majdmina, this is the same issue as #10066. Closing as a duplicate.

Proton versions