-layout name Specifies the name of the layout used to determine the components which make up the keyboard description. Only one layout may be specified on the command line. It is true? Accedentally I found that setxkbmap can accept more than one layout: $ setxkbmap -print -layout "us,ru(typewriter)" xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+ru(typewriter):2+inet(evdev)+group(shift_caps_toggle)" }; xkb_geometry { include "pc(pc105)" }; }; It looks like a correct output. At least xkbcomp acceptps it (... | xkbcomp - $DISPLAY), and after this command I am able to use both layouts and switch between them by Shift+CapsLock. It even accepts three layouts: $ setxkbmap -print -layout "us,ru(typewriter),ru" The same for the first argument: $ setxkbmap -print "us,ru(typewriter),ru" It works but not documented.
commit 0c411a3f8697ce756847fe1c2abc8d07a8a51d09 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Fri Feb 18 13:14:53 2011 +1000 man: multiple layouts can be specified (#34118)
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.