Problem of grabbing the first keystroke after input device keymap switch
Henry Zhao
Henry.Zhao at Sun.COM
Fri Feb 13 19:20:36 PST 2009
In a system with multiple input keyboard devices, keymap switch takes
place when server receives the first keystroke from a new device. Before
posting it updates the keymap of core device, and sends out
SendMappingNotify() (all done in SwitchsCoreKeyboard()).
However in my testing case, the client is unable to grab this first
keystroke,
although it can correctly grab subsequent strokes from the new device.
With "xmodmap -pk" I am sure the keymap switch takes place as expected.
After receiving mapping notify, the client does another round of grab based
on the new keymap, and at that point I can tell the keymap is already
correctly updated. But the client is still unable to grab the first
keystroke.
It does not seem to be a timing issue: I add some delay after
SendMappingNotify()
in SwitchsCoreKeyboard() to postpone posting, but this does not help.
Any thoughts ?
-Henry
More information about the xorg
mailing list