Я подобного решения так и не нашел, потому написал свою утилиту https://github.com/mervick/kbsw,
работает следующем образом (для Ubuntu):
Пример 1: в системе установлено несколько языков, я хочу переключать определенный язык через свою комбинацию клавиш, допустим ctrl+shift+num1, ctrl+shift+num2, и т.д.
Для этого сначала ввожу в терминале "bash /путь/к/файлу/kbsw.sh --show-layouts" и утилита выведет все лайоты установленных клавиатур, у меня это
[ 'us' 'ru' 'ua' ]
После, захожу Параметры системы->Клавиатура->Комбинации клавиш->Дополнительные комбинации и добавляю новые комбинации клавиш с командой "bash /путь/к/файлу/kbsw.sh --layout=ru" для русского языка, "...=ua" для украинского и "...=us" для английского соответственно, для каждой комбинации устанавливаю свою комбинацию клавиш нажатием напротив названия комбинации клавиш. Profit!
Пример 2: в системе установлены три раскладки: английский, русский и украинский, я хочу через alt+shift переключать между собой только первые два, а украинский только по установленному до этого сочетанию клавиш (Пример 1).
Для начала, нужно убрать стандартный переключатель на другой хоткей (я поставил на capslock), а после через комбинации клавиш (смотри выше) установить команду для хоткея "bash /путь/к/файлу/kbsw.sh --switch" (будет переключаться первые два установленных в системе языка между собой, если нужно переключать 3 или более, нужно указать с параметром --switch=N, где N - количество языков для переключения), после нужно установить хоткей для комбинации, однако система не разрешит установить сочетание alt-shift, поэтому для этого нужно в редакторе dconf
$ sudo apt-get install dconf-tools
$ dconf-editor
в разделе org.gnome.settings-daemon.plugins.media-keys.org.gnome.custom-keybindings
будут подразделы custom[0-9], ищем нужный нам подраздел по полю command (bash /путь/к/файлу/kbsw.sh --switch), в поле binding устанавливаем значение <Shift><Alt>. Все
Linux пользовательizman
Комментарии пользователя (1)
- 05.05.2015, 23:06