Я широко использую две раскладки клавиатуры (латинский для английского языка и кириллицу для украинского и русского), и меня беспокоит ошибка режима , потому что дополнительного бита состояния пользовательского интерфейса: текущая раскладка .
Раньше я полностью их устранял, используя переключение компоновки без сохранения состояния , при этом действие не выполняется next layout
(поскольку такое действие основано на текущем состоянии , что легко забыть для пользователя, и поэтому приводит к ошибкам), скорее всего два действия:
Это было тривиально выполнимо в предсоссийских выпусках. Как показано на скриншоте выше.
Однако, это окно настроек было уничтожено в Соси.
Как мне теперь получить переключение без сохранения состояния?
Может быть, просто с помощью Tweak Tool:
HTH
Оказывается, Cinnamon на десктопе имеет такую возможность! Ницца.
Эта команда установит макет на первый (она хорошо работает с индикатором Unity / Gnome, Ubuntu 13.10 / 14.04):
gsettings set org.gnome.desktop.input-sources current 0
Вы можете использовать инструменты настройки, действие gnome, плагин compiz action. .etc, чтобы создать сочетание клавиш для него.
Макеты индексируются начиная с 0. Таким образом, вы можете создать ярлык для любого макета в списке.
Вы можете использовать это для создания сложного сценария для последнего макета без указания индекса:
gsettings get org.gnome.desktop.input-sources sources
Как:
gsettings set org.gnome.desktop.input-sources current $(($(gsettings get org.gnome.desktop.input-sources sources | grep -Po "'[[:alpha:]]+'\)" | wc -l)-1))
Опции клавиатуры в Ubuntu и GNOME - не что иное, как фронтенд расширения клавиатуры X (XKB). Если у вас все в порядке с настройкой вручную, вы можете легко включить все недостающие опции с помощью командной строки setxkbmap
.
Например, чтобы установить немодальное переключение между русской и английской раскладками клавиатуры, вы можете использовать следующую команду:
setxkbmap -layout us,ru -option grp:shift_caps_switch
Это активирует эти настройки XKB для текущего сеанса. Если вы хотите сделать изменение постоянным, вам нужно будет добавить указанную выше команду в ваши запускаемые приложения .
Если вас интересуют различные другие настройки, которыми вы можете управлять с помощью setxkbmap
, я рекомендую перейти к руководству (man setxkbmap
) и взглянуть на /usr/share/X11/xkb/rules/base.lst
. Последний документирует все различные способы настройки клавиши составления, переключения раскладки клавиатуры и т. Д.
Ниже приведен раздел base.lst
по переключению раскладки клавиатуры:
! option
grp Key(s) to change layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
Различные настройки XKB также описаны в man 7 xkeyboard-config
.
Если setxkbmap
не работает для вас, вы можете попробовать установить параметры XKB через dconf
:
dconf-editor
(sudo apt-get install dconf-editor
) xkb-options
в виде массива. Например: ['grp:shift_caps_switch']