Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Issuing that command:

setxkbmap -layout "us,ua,ru" -variant ",winkeys" -option "grp:shift_caps_toggle,grp_led:scroll" -model pc105 -rules xorg

When hitting Caps Lock+Shift I'm switching between English (us) and Ukrainian (ua) layouts, but not Russian (ru).

I've tried to reset it with the following command:

setxkbmap -layout "us,ua,ru" -option ""

and played with many different options - nothing helps.

My system is Gentoo Linux and window manager wmii.

share|improve this question

I tested your command (I had to add "-keycodes evdev" to handle my arrow keys, but that is irrelevant), and I could cycle trough the three layouts.

Could it be that Caps+Shift is intercepted by the window manager ?

You can also issue the command: xkbcomp $DISPLAY somefile.txt(or xkbcomp $DISPLAY - | less) and look that CAPS is defined like this:

key <CAPS> {         [       Caps_Lock,  ISO_Next_Group ] };

look if the dump of xkbcomp changes when you change the keyboard layout with Caps+Shift (it should not!)

share|improve this answer
Confirmed: key <CAPS> { [ Caps_Lock, ISO_Next_Group ] }; My window manager is wmii which is very lightweight. I doubt it intercept anything. – archer Apr 4 '13 at 19:46
It may still be that wmii does something about the caps lock modifier. Try editing the dump file to change CAPS definition to send something else, for exemple letter "a", instead of ISO_Next_Group, and load it with xkbcomp thedumpfile $DISPLAY and see if Shift+CapsLock on a terminal types an "a". – Pablo Saratxaga Apr 5 '13 at 23:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.