Danilo Segan wrote:
> It all works fine, but the problem arises with the usage of CTRL+<key>
> combinations. If I put en_US as the first group, then they use keys from
> group1 no matter what group is active. But, in any other case, they use
> the key mappings from the "current group".
There is an XKB feature that is completely undocumented, unfortunatly.
The XLookupString (and so X{mb|wc}LookupString too) procedure having Control
modifier in a key event tries to make a 'controlized' code from the symbol
got from the current layout.
If this attempt fails, the procedure changes an XKB group to the first one
and repeats the 'controlization' attempt.
(The "documentation" is a source code of XLookupString in xc/lib/X11/XKBBind.c).
Since a control code can be produced from an ascii code, if a key in the
current group has such keysym you get the controlized code (the first attempt
got success). Otherwise you get the control code from the first group, if
it is a latin-based layout (the second attempt is successful) or just a code
from the first group.
This behavior can be switched on/off by setting 'Xlib XKB control bit'
XkbLC_ControlFallback or using the environment variable _XKB_CONTROL_FALLBACK
(values can be 'on/off' or '0/1'). By default it's switched on.
It worked well while all keyboard maps had the 'us' map as a first layout
or were latin-based maps themself. But as you see this method doesn't work
in some multi-layout combinations.
I would offer to add another one variable like:
_XKB_CONTROL_FALLBACK_TO=<group>
BTW there are users who would like to have the similar option for Alt
modifier, i.e. _XKB_ALT_FALLBACK.
Any opinions?
> PS. I also noticed that "pc/us" map doesn't define symbols for <BKSL>,
> so it cannot be used with any mapping which redefines it (mine being a
> prime example). I'd call this also a bug!
Yes, I know. There are a few keys that can be redefined in other maps
and should be added to 'us' map. I'll make the patch soon.
--
Ivan U. Pascal | e-mail: [EMAIL PROTECTED]
Administrator of | Tomsk State University
University Network | Tomsk, Russia
_______________________________________________
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n