You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Package libxkbfile-dev (or libxkbfile-devel for Fedora) needs to be
installed to build the program.
To build the program manually, unpack the tarball and cd to source directory.
Nix users may use nix-shell to enter the minimally
sufficient development shell or nix-build to build the sources. Other
distributions typically require the following commands to build and install the
program:
$ mkdir build &&cd build
$ cmake ..
$ make
Optionally, test the basic functions by running ./test.sh script. The script
should print OK in the last line and return exit code of zero.
$ ../test.sh 2>&1| tee test.log
$ tail -n 1 test.log | grep OK ||echo"Test failed!"
In order to do a system-wide install, use your system's package manager or
default to the following:
$ sudo make install # System-wide installation
$ make DESTDIR=$HOME/.local install # User installation
On some distributions, you may need to update the program cache if it's the
first time you're installing this program
$ sudo ldconfig
Usage
$ xkb-switch --help
Usage: xkb-switch -s ARG Sets current layout group to ARG
xkb-switch -l|--list Displays all layout groups
xkb-switch -h|--help Displays this message
xkb-switch -v|--version Shows version number
xkb-switch -w|--wait [-p] Waits for group change and exits
xkb-switch -W Infinitely waits for group change
xkb-switch -n|--next Switch to the next layout group
xkb-switch [-p] Displays current layout group
xkb-switch -f|--fancy Displays fancy name of current layout group
A note on xkb-switch -x
Command line option xkb-switch -x has been removed recently. Please, use setxkbmap -query or setxkbmap -print to obtain debug information.
VIM integration
Xkb-switch goes with a library libxkbswitch.so which can be called from
within Vim scripts like this:
xkb-group.sh can help you to manage layout groups. Just run it and send some
input at it's stdin every time you want to trigger layouts from primary to
secondary and back. For example:
$ xkb-group.sh us ru
switch # switch from us to ru or from current layout to us
switch # switch from ru to us or from us to ru# from another terminal
$ xkb-switch -s de # switch to 'de' layout, change secondary layout to 'de'# back to terminal running `xkb-group.sh'
switch # switch from de to us
switch # switch from us to de
Bugs or Problems
Admittedly, I only tested with a few different layouts that I used. If you find
any bugs let me know by submitting an issue or via grrwlf@gmail.com.
Old LJ post by Mitya describing minimalistic X11 kb test application
Licensing notice
In response to the request I
decided to re-license the project under the more permissive MIT license. Older
versions of the software remain under the GPL license we used previously. This
StackExchange
question
includes some information regarding this kind of situations.
I included the top-3 contributors into the MIT license text. Please contact me
either directly or via the mentioned Github issue if you have any questions or
suggestions regarding this decision.
About
Switch your X keyboard layouts from the command line