xkb should be extended to be able to recognize a sequence of key presses
and key releases and fire action upon it. Again, this would be an
extension, not a violation of current standard.
Currently, the group switching is defined in
/usr/share/X11/xkb/symbols/group with parts like
partial modifier_keys
xkb_symbols "lalt_lshift_toggle" {
virtual_modifiers Alt;
key <LALT> {
symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
virtualMods= Alt
};
key <LFSH> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1] = [ Shift_L, ISO_Next_Group ]
};
};
The following is what this part of the file would look like after
appropiate changes in xkb code:
xkb_sequences "lalt_lshift_toggle" {
sequence { keydown <LALT>, keydown <LFSH>, keyup <LFSH> } = ISO_Next_Group;
sequence { keydown <LFSH>, keydown <LALT>, keyup <LALT> } = ISO_Next_Group;
}
For this to work
1) http://www.x.org/docs/XKB/XKBproto.pdf need to be extended with a small
chapter
2) http://cgit.freedesktop.org/xorg/xserver/tree/xkb - code the run time check
for sequences; changes to xkm format required
3) http://cgit.freedesktop.org/xorg/app/xkbcomp/tree/ - code the parsing of
"xkb_sequences", "keydown", and "keyup" keywords
At least this is my impression after a day of investigation. I know this seems
like unnecessarily big change compared to Ilya's patch. But, basically, that is
what I mean by "clean solution". Unfortunatelly, it is more of a "dream
solution", since I feel I will hardly be able to code this..
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/36812
Title:
Keyboard layout change on hotkeys press instead of release and do not
work well with shortcuts
To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-control-center/+bug/36812/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs