Ещё один способ сменить раскладку в Linux, FreeBSD

Нынешние дистрибутивы Linux, ориентированные на пользователей, данную задачу решают достаточно просто — лепится плагин к панели, который и меняет раскладку. Если же мы периодически занимаемся Unix-diving-ом, то от такой прелести нам придётся отказаться.

Опубликовано: 12.05.2017

tl;dr: Смена раскладки по нажатию alt+shift:

setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle,grp_led:scroll'

Немного предыстории:

Нынешние дистрибутивы Linux, ориентированные на пользователей, данную задачу решают достаточно просто — лепится плагин к панели, который и меняет раскладку. Если же мы периодически занимаемся Unix-diving-ом, то от такой прелести нам придётся отказаться.

Поэтому рассмотрим одну из возможностей, которую нам даёт xkb — расширение X Window System, отвечающее за клавиатуру. То есть работать это будет при использовании графической подсистемы x11.

Оговорюсь, что можно настроить переключение через xorg.conf. Возможно, это правильнее, но мне всегда было проще добавить строчку в скрипт «автозагрузки», чем написать портянку конфигов.

3 других популярных варианта клавиш переключения раскладки:

  1. Смена раскладки через Caps Lock:
    setxkbmap -layout 'us,ru' -option 'grp:caps_toggle,grp_led:scroll'
  2. Смена раскладки через Alt+Space:
    setxkbmap -layout 'us,ru' -option 'grp:alt_space_toggle,grp_led:scroll'
  3. И предсказуемо — смена раскладки через Сtrl+Shift:
    setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll'

Также с помощью этого же расширения можно использовать compose-последовательности. То есть можно автоматом преобразовывать << в «, например.

Набираются compose-последовательности так: нужно нажать compose-клавишу и отпустить её. После этого начать набирать последовательность. Символы на экране появляться не будут, результат появится только тогда, когда последовательность будет набрана полностью.

Примеры последовательностей:

« << 
» >>
€ e=
— --
ß ss
° ^0
² ^2
è `e
ü "u

Установить compose-клавишу можно во всё той же команде:

setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"

— разберём эту команду:

Также может быть вам интересно:
ПрограммыКлавиатураFreeBSDLinuxНастройки
← Добавляем локаль в Debian, Ubuntu, etc Как использовать аудио кодек Voxware в Linux →