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.
Andreas
More information about the xorg
mailing list