galp3-c: Multiple `KF_E0` key presses on resume result in stuck key repeat
This behavior seems limited to handling KF_E0 keys, as I have not reproduced it with Space or any letter keys.
I have only reproduced it on galp3-c. oryp5 produces the related atkbd warning, but not the key repeat behavior. gaze15 does not produce either (works correctly).
Unsure if this is a problem in the EC itself or something in Linux.
Steps to reproduce:
- Configure system to not lock on suspend
- Open terminal
- Run
systemctl suspend - Press any to wake from suspend
- As soon as the display turns on, repeatedly press any
KF_E0key (e.g., up arrow key)
Actual behavior:
First several key presses appear to work correctly. Eventually a single press is "missed". Then several appear to happen in rapid succession, as if it is "catching up" to the key presses. Finally, either the key itself or a seemingly arbitrary key is pressed. If you stop pressing the key at about this point, this arbitrary key will repeat indefinitely.
E.g.: Pressing up will typically result in 8 being repeated, and pressing down will typically result in 2 being repeated.
A warning is issued by Linux about handling the key.
atkbd serio0: Unknown key released (translated set 2, code 0xe0 on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e060 <keycode>' to make it known.