XKB: Message actions suppress other key presses

wettstein509 at solnet.ch wettstein509 at solnet.ch
Tue Jun 8 12:44:45 PDT 2010

When a key to which a message action is mapped is held down, presses of
other keys are not registered.  For example, if I use the mapping

    key <PRSC> {
        type= "ONE_LEVEL",
        repeat= Yes,
        symbols[Group1]= [           A ],
        actions[Group1]= [ Message(data="Hallo", report=all, genkeyevent=yes) ]

and then in a terminal window press and keep down the Print Screen key,
an A is produced.  Then, autorepeat starts, and more As are produced.
When I hit (press and release) another key, autorepeat stops, but the
other key produces no symbol.  If I hit more other keys, I see no
effect.  After release of the Print Screen key, key presses are again
registered normally.  I see this on RHEL4 with Xorg 6.8.2 (from five
years ago) and on NetBSD with X-Server 1.6.5.

I wonder whether this is intended behaviour?  I tried to read the XKB
protocol specification, but found no hint.

In the Xorg server source code, there is a file xkb/xkbActions.c, and
therein a function _XkbFilterActionMessage.  When I change the return
value in this function's last line from 0 to 1, keys get registered
normally even when a message action key is down.


More information about the xorg mailing list