I want to set custom shortcut to change keyboard layout using setxkbmap. For example win_caps (Win+CapsLock). This option is not listed in /usr/share/X11/xkb/rules/base.lst
How can I achieve this?
I want to set custom shortcut to change keyboard layout using setxkbmap. For example win_caps (Win+CapsLock). This option is not listed in /usr/share/X11/xkb/rules/base.lst
How can I achieve this?
You'll have to define a custom option e.g. win_caps_toggle.
Add the following definition to your /usr/share/X11/xkb/symbols/group:
// toggle using win + capslock as combo partial modifier_keys xkb_symbols "win_caps_toggle" { key <CAPS> { type[Group1]="PC_SUPER_LEVEL2", symbols[Group1] = [ Caps_Lock, ISO_Next_Group ] }; }; and the following description to your usr/share/X11/xkb/rules/evdev.lst:
grp:win_caps_toggle Win+Caps Lock anywhere under the grp section (e.g. under grp:caps_toggle).
You can then run
setxkbmap -option grp:win_caps_toggle to set Win+CapsLock as the shortcut that changes the keyboard layout.
Note: this solution doesn't work with gnome 3. I think in order to make it work some stuff has to be disabled in gnome; I've tried disabling gnome-settings-daemon keyboard plugin and mutter overview key but no go. Works fine with other DE's though.