protonscr

Keyboard Input Sticks Indefinitely

protonclosed
ValveSoftware/Proton#9568 · opened 2026-03-12 by rockerest · updated 2026-03-12 · 2 comments · github
Rrockerest 2026-03-12 github

In some games, holding a key (for example WASD) becomes stuck in game and will not release until that key is pressed and released again.

While my testing is far from comprehensive, I noted that games made in Unity DO have this issue, while other games do not.

Games where key presses stick:

  • Froggy Hates Snow Demo (Unity)
  • Wanderburg Demo (Unity)

Games where key presses do not stick:

  • Coal LLC (Godot)

Replicable on:

  • Proton 10.0-4
  • Proton Experimental
  • Proton Hotfix

Working on Proton 9.0-4

OS: Linux Mint 22.3
Kernel: 6.17.0-14-generic
Steam Version: 1773099986
GPU: NVIDIA RTX 3090 Ti

Keyboard, in case that matters
P: /devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb5/5-1/5-1:1.0/0003:3434:0B30.0001/input/input2/event2
M: event2
R: 2
U: input
D: c 13:66
N: input/event2
L: 0
S: input/by-id/usb-Keychron_Keychron_Q3_HE_4C003700025134313637383600000000-event-kbd
S: input/by-path/pci-0000:0c:00.3-usb-0:1:1.0-event-kbd
S: input/by-path/pci-0000:0c:00.3-usbv2-0:1:1.0-event-kbd
E: DEVPATH=/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb5/5-1/5-1:1.0/0003:3434:0B30.0001/input/input2/event2
E: DEVNAME=/dev/input/event2
E: MAJOR=13
E: MINOR=66
E: SUBSYSTEM=input
E: USEC_INITIALIZED=5814318
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_BUS=usb
E: ID_MODEL=Keychron_Q3_HE
E: ID_MODEL_ENC=Keychron\x20Q3\x20HE
E: ID_MODEL_ID=0b30
E: ID_SERIAL=Keychron_Keychron_Q3_HE_4C003700025134313637383600000000
E: ID_SERIAL_SHORT=4C003700025134313637383600000000
E: ID_VENDOR=Keychron
E: ID_VENDOR_ENC=Keychron
E: ID_VENDOR_ID=3434
E: ID_REVISION=0121
E: ID_TYPE=hid
E: ID_USB_MODEL=Keychron_Q3_HE
E: ID_USB_MODEL_ENC=Keychron\x20Q3\x20HE
E: ID_USB_MODEL_ID=0b30
E: ID_USB_SERIAL=Keychron_Keychron_Q3_HE_4C003700025134313637383600000000
E: ID_USB_SERIAL_SHORT=4C003700025134313637383600000000
E: ID_USB_VENDOR=Keychron
E: ID_USB_VENDOR_ENC=Keychron
E: ID_USB_VENDOR_ID=3434
E: ID_USB_REVISION=0121
E: ID_USB_TYPE=hid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH_WITH_USB_REVISION=pci-0000:0c:00.3-usbv2-0:1:1.0
E: ID_PATH=pci-0000:0c:00.3-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_0c_00_3-usb-0_1_1_0
E: XKBMODEL=pc105
E: XKBLAYOUT=us
E: BACKSPACE=guess
E: LIBINPUT_DEVICE_GROUP=3/3434/b30:usb-0000:0c:00.3-1
E: DEVLINKS=/dev/input/by-id/usb-Keychron_Keychron_Q3_HE_4C003700025134313637383600000000-event-kbd /dev/input/by-path/pci-0000:0c:00.3-usb-0:1:1.0-event-kbd /dev/input/by-path/pci-0000:0c:00.3-usbv2-0:1:1.0-event-kbd
E: TAGS=:power-switch:
E: CURRENT_TAGS=:power-switch:

And no: Nothing has been spilled on the board, ever. The key repeat never happens in the OS, or in any other applications.

Kkisak-valve maintainer 2026-03-12 github

Hello @rockerest, you've described the ibus issue being tracked at #5294. Closing in favor of the older issue report.

Rrockerest 2026-03-12 github

Nice.

It's a good thing the bot made this connection, because there's a 0% chance I would have found this, as my issue isn't related to low FPS and while I am technically using GNOME, it's via the Cinnamon fork.

For anyone coming here later:

  • Many people (in that issue and widely across the internet) don't have success with export IBUS_ENABLE_SYNC_MODE=2, but do have success with killall ibus-daemon
  • killall ibus-daemon worked for me, but it always comes back on reboot
  • sudo systemctl disable ibus-daemon (or ibus) reports no such service
  • Commenting out the init script in /etc/xdg/Xwayland-session.d/10-ibus-x11 had no effect (yet, afaict)
    • To be fair, I don't use Wayland on Linux Mint because it unusably buggy in my experience, so it's probably not starting Xwayland
  • Since I don't use anything except English except on extremely rare occasions, I went for the nuclear option and just sudo apt remove ibus. So far so good.

Proton versions