Обычные человеки используют две раскладки — английскую и свою нативную. Но что делать, если ты полиглот и общаешься / пишешь на разных языках? Пусть это будет самый простой вариант — родной язык и два иностранных, с разными символами (английский, русский и хинди).
Все системы, которые есть на данный момент, будь то 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 — будет переключать на арабскую вязь.
П.С. Для использования скрипта с другими раскладками — возможно придется изменить порядковые номера раскладок, насколько я понял они нумеруются после сортировки списка раскладок.
П.П.С. Скрипт можно расширить и дополнить, но мне было лень, пусть останется так, чтобы при вспоминании мозг хоть немного шевелился и сделал это сам.