Обычные человеки используют две раскладки — английскую и свою нативную. Но что делать, если ты полиглот и общаешься / пишешь на разных языках? Пусть это будет самый простой вариант — родной язык и два иностранных, с разными символами (английский, русский и хинди).
Все системы, которые есть на данный момент, будь то Windows / Mac OS X / *nix, предлагают лишь один способ переключения между ними, а именно — ротацию между раскладками. Это есть не всегда удобно, даже я бы сказал, совсем неудобно.
В Mac OS X — это недоразумение сглажено несколько отличным методом переключения — при однократном нажатии сочетания клавиш, ответственных за переключение раскладок — система переключает между собой последние две используемые раскладки, при удержании клавиш — вылезает список со всеми выбранными раскладками, из которых пользователь может выбрать нужную.
Но и это не всегда удобно.
Ни одна из систем не поддерживает переключения разных наборов раскладок на разных сочетаниях клавиш. Например, super + space — переключается между en / ru , а option + space — переключается на хинди или набор из хинди / японский.
Конечно же я просто не все знаю о возможностях упомянутых систем, но пришлось изобретать велосипед и для Linux Mint LMDE 2 решение было таким:
git clone https://github.com/nonpop/xkblayout-state
#!/bin/bash
# change_layout - скрипт переключающий язык
ARA=0
EN=1
RU=2
bin="xkblayout-state"
if [ $# -eq 0 ]; then
CL=`$bin print %c`
if [ $CL -eq $EN ]; then
# set RU
$bin set $RU
else
# set EN
$bin set $EN
fi
else
# set ARABIC
$bin set $ARA
fi
#!/bin/bash # install script sudo apt-get install git libx11-dev git clone https://github.com/nonpop/xkblayout-state cd ./xkblayout-state make && strip ./xkblayout-state sudo cp ./xkblayout-state /usr/local/bin/ make clean cd .. && sudo cp ./change_layout /usr/local/bin/
Выбираем нужные языки и отключаем все сочетания клавиш для переключения раскладок

Настраиваем новые сочетания клавиш

После данных действий сочетание клавиш Alt_Shift — будет переключаться между en/ru , а Super(Windows)_Shift — будет переключать на арабскую вязь.
П.С. Для использования скрипта с другими раскладками — возможно придется изменить порядковые номера раскладок, насколько я понял они нумеруются после сортировки списка раскладок.
П.П.С. Скрипт можно расширить и дополнить, но мне было лень, пусть останется так, чтобы при вспоминании мозг хоть немного шевелился и сделал это сам.
