Comment 16 for bug 190934

Revision history for this message
Rocko (rockorequin) wrote :

normally, xev only logs key press events when you actually press a key. but when the modifiers stop working it sees a continuous stream of key press/key release events.

following is a sample key press/key release/key press sequence from xev when the modifier keys stop working.

KeyPress event, serial 32, synthetic NO, window 0x3a00001,
    root 0x5a, subw 0x0, time 28763460, (171,-12), root:(1529,853),
    state 0x0, keycode 101 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x3a00001,
    root 0x5a, subw 0x0, time 28763494, (171,-12), root:(1529,853),
    state 0x100, keycode 101 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x3a00001,
    root 0x5a, subw 0x0, time 28763494, (171,-12), root:(1529,853),
    state 0x100, keycode 101 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

you can see that the second keypress event shown has the same timestamp as the previous keyrelease event. this is the same for all the ones i looked at.

so perhaps this phantom key press/release could be preventing key modifiers from working properly, eg you press shift, but then this phantom keypress occurs before you get a chance to press the i key, so the shift is cancelled and the i comes out lowercase.