silly keycode question

Tom Cowell t.a.cowell at gmail.com
Sun Jan 24 04:49:36 PST 2010


In my experiments, I didn't want to do what Glynn suggested because I
will be repeatedly changing the grabbed keys during the lifetime of
the program. All the calls to XGrabKey seemed like a lot of overhead
to me.

So I did something different: my program is, for other reasons, using
the Xkb extension, and processing XkbStateNotifyEvent to track the
state of modifier keys. When Ctrl is pressed I grab the keys I want
with AnyModifier, and when it is released I release them.

This works for me, but I don't like it, so I think I will probably try
what Glynn has suggested.


Cheers
Tom



2010/1/24 Glynn Clements <glynn at gclements.plus.com>:
>
> Nokan Emiro wrote:
>
>> I need to catch all the Alt+F8 keypresses in my program,
>> and I do it this way:
>>
>> XGrabKey(display, XKeysymToKeycode(display, F8), Mod1Mask, root_window,
>> True, GrabModeAsync, GrabModeAsync);
>>
>> This works fine if no lock keys (ScrollLock, NumLock,
>> CapsLock or combinations of these) are active.
>>
>> Which one is the nicest way to catch Alt+F8
>> irrespectively of the state of Lock keys?
>
> Grab F8 with all combinations of lock modifiers in addition to Mod1,
> i.e. 2^N separate grabs, where N is the number of lock modifiers.
>
> --
> Glynn Clements <glynn at gclements.plus.com>
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
>



More information about the xorg mailing list