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.
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
054c:0ce63434:d031Observed 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:
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:
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.