xkb: Switch delay to a group

Ilya Murav'jov muravev at yandex.ru
Thu Feb 4 11:18:23 PST 2010


Daniel Stone пишет:
>>> Well, I considered to set up another filter via XkbFilterRec and
>>> _XkbApplyFilters() but xkbi->filters is a vector. If one need to cancel
>>> the delay switching then the vector have to be gone all round to
>>> deactivate the filter. I think another flag in xkbi->state is more natural.
>> That's the wonderful thing about xkbActions.c. The filter system has to
>> be rewritten, too - it needs per-level granularity. Maybe there can be a
>> more general approach towards canceling actions when doing that.
>>
>> But maybe you would want to put the focus on switch-group-on-release
>> first. If want to try it without Press/Release knowledge inside the
>> handler you might want to try to skip the first event. If that works
>> together with an option to select between when to trigger the switch
>> (press/release), that would be an improvement already.
> 
> Actually, it's really not that bad.  In the group-switch handler, you
> could just set a flag for 'maybe switch groups when all keys are up'.
> As the handler gets called for all key events, you could then just clear
> the 'maybe switch' flag when another key gets pressed.
> 

Ok, your variant is better, but still not good one; as far as I
understand "just clear the 'maybe switch' flag" still needs to go
through all xkbi->filters vector to find the one with that flag.

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?

Ilya


More information about the xorg-devel mailing list