Daniel Stone пишет: > > The filter should get called for _any_ key press and release. So you > get Ctrl+Shift and set the flag in the filter private. Then someone > presses, say, B, which should cause the very same filter handler to get > called _again_. You notice it's another keypress, and clear the flag. > In the filter, on key release events, you just watch the number of keys > currently down, and if it's currently zero, you either make the group > switch or not, depending on the flag.
You are right :) > >> So, if I get some useful patches for the issue I attach them to the bug >> http://bugs.freedesktop.org/show_bug.cgi?id=865, ok? > > Sounds good. :) Ok, I've done the patch, works good for me, see http://bugs.freedesktop.org/show_bug.cgi?id=865#c45. It would be nice if someone review it. One issue with the patch: "switch on release" behaviour is hard coded (but can be easily turned off by xkbSwitchGroupOnRelease() function!). How to do it? The very simple and dirty way is to turn on/off via ... XkbSetDebuggingFlags() function only but it is not good. Standard XKB configuration is not good for it too. Regards, Ilya _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
