Question regarding XSetModifierMapping() with modifier down

Vinay Reddy vinayvinay at
Tue Jun 17 09:04:00 PDT 2008

Hi all,
If XSetModifierMapping() is called with one of the modifiers down, it
returns MappingBusy, so we send a fake button up event through
XTestFakeKeyEvent() for all modifiers that are down before calling
XSetModifierMapping(). Although this worked well until recently, it
doesn't seem to be working on newer XServers (at least on I
added some logging to the Xserver, and found that
AllModifierKeysAreUp() returns FALSE when it is called the second time
in DoSetModifierMapping() (in xserver/dix/devices.c). Also, multiple
bits seem to be on in KeyCode *inputMap of DoSetModifierMapping()
(although only one modifier is pressed on the keyboard).

Does anyone know if anything changed in the Xserver recently that
could cause this? Are there any workarounds for this? I'd appreciate
any pointers or help.


More information about the xorg mailing list