Hi,
this bug was first discovered on the Openmoko FreeRunner [1], but it
happens on my sid-amd64 with Openbox, too.
The following test was performed firstly pressing "<" and then ">".
- physical keyboard:
=====
KeyPress event, serial 30, synthetic NO, window 0x1600001,
root 0x68, subw 0xa00420, time 46952966, (5,47), root:(6,441),
state 0x1, keycode 59 (keysym 0x3c, less), same_screen YES,
XKeysymToKeycode returns keycode: 94
XLookupString gives 1 bytes: (3c) "<"
XmbLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
[...]
KeyPress event, serial 30, synthetic NO, window 0x1600001,
root 0x68, subw 0xa00420, time 46954089, (5,47), root:(6,441),
state 0x1, keycode 60 (keysym 0x3e, greater), same_screen YES,
XLookupString gives 1 bytes: (3e) ">"
XmbLookupString gives 1 bytes: (3e) ">"
XFilterEvent returns: False
=====
- matchbox-keyboard:
=====
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
root 0x68, subw 0x0, time 52374144, (87,-244), root:(418,185),
state 0x101, keycode 94 (keysym 0x3e, greater), same_screen YES,
XKeysymToKeycode returns keycode: 60
XLookupString gives 1 bytes: (3e) ">"
XmbLookupString gives 1 bytes: (3e) ">"
XFilterEvent returns: False
[...]
KeyRelease event, serial 35, synthetic NO, window 0x1a00001,
root 0x68, subw 0x0, time 52374187, (87,-244), root:(418,185),
state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
XLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
[...]
KeyPress event, serial 35, synthetic NO, window 0x1a00001,
root 0x68, subw 0x0, time 52376080, (107,-240), root:(438,189),
state 0x101, keycode 60 (keysym 0x3e, greater), same_screen YES,
XLookupString gives 1 bytes: (3e) ">"
XmbLookupString gives 1 bytes: (3e) ">"
XFilterEvent returns: False
=====
Simply unsetting keycode 94 with `xmodmap -e 'keycode 94 = '` solves the
issue.
Thx, bye,
Gismo / Luca
Footnotes:
[1] http://lists.linuxtogo.org/pipermail/smartphones-standards/2008-August/000242.html