Comment 84 for bug 271706

Tomasz Sterna (smoku) wrote :

Nick Moeck: your patch is invalid. You need to edit the @ modified section delimiters to have a valid patch.

Aryeh Gregor: I tried applying your patch on linux-image 2.6.31-17-generic but it does not apply: 'atkbd_volume_forced_release_keys' is not in standard kernel. I've fixed it and you will find the 'generic' patch attached.

Nevertheless it does not fix the problem. See the following evtest output:

Event: time 1263755205.200055, type 4 (Misc), code 4 (ScanCode), value 39
Event: time 1263755205.200081, type 1 (Key), code 57 (Space), value 1
Event: time 1263755205.200086, -------------- Report Sync ------------
Event: time 1263755205.260386, type 4 (Misc), code 4 (ScanCode), value 39
Event: time 1263755205.260416, type 1 (Key), code 57 (Space), value 0

Event: time 1263755205.260421, -------------- Report Sync ------------
Event: time 1263755211.503327, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.503356, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1263755211.503361, -------------- Report Sync ------------
Event: time 1263755211.513389, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.513416, type 1 (Key), code 115 (VolumeUp), value 1
Event: time 1263755211.513422, -------------- Report Sync ------------
Event: time 1263755211.543370, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.543393, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1263755211.543396, -------------- Report Sync ------------
Event: time 1263755211.553415, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.553432, type 1 (Key), code 115 (VolumeUp), value 1
Event: time 1263755211.553435, -------------- Report Sync ------------
Event: time 1263755211.583391, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.583405, type 1 (Key), code 115 (VolumeUp), value 0
Event: time 1263755211.583407, -------------- Report Sync ------------
Event: time 1263755211.593480, type 4 (Misc), code 4 (ScanCode), value b0
Event: time 1263755211.593493, type 1 (Key), code 115 (VolumeUp), value 1

First is 'Space' keypress and release. The second is turning the wheel one notch Up.
a) the event is repeated 3 times - looks like the anti-repeat in drivers/input/keyboard/atkbd.c:482 does not work in this case
b) even with atkbd_setup_forced_release quirk the sequence is wrong - this is why I posted Space keypress for reference
VolumeUp key is depressed (0) then pressed (1) three times
This leaves the button in pressed state, causing the "sticking" behavior.