Я активно использую две раскладки клавиатуры (латиницу для английского языка и кириллицу для украинского и русского языков), и мне неприятно испытыватьошибки режимаиз-за дополнительного бита состояния пользовательского интерфейса:текущий макет.
Я использовал, чтобы полностью устранить их, используябез гражданствапереключение раскладки, при котором не требуется никаких next layout
действий (поскольку такое действие основано наТекущее состояние, что пользователь легко забывает и поэтому приводит к ошибкам), а не только два действия:
- включить латинскую раскладку;
- включить кириллическую раскладку.
Это было тривиально выполнимо в релизах до Saucy. Как показано на скриншоте выше.
Однако это окно настроекбыл уничтоженв Дерзком.
Как мне теперь получить переключение без состояния?
решение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
) - Откройте редактор dconf из панели управления и перейдите корг→гном→рабочий стол→входные источники
- Добавьте ваши настройки XKB в
xkb-options
виде массива. Например:['grp:shift_caps_switch']
Источник:Сделайте так, чтобы настройки setxkbmap устанавливались при запуске
решение2
Эта команда установит первый макет (он отлично работает с Unity/Gnome Indicator, Ubuntu 13.10/14.04):
gsettings set org.gnome.desktop.input-sources current 0
Вы можете использовать инструменты настройки, действия gnome, плагин действий compiz и т. д., чтобы создать для него сочетание клавиш.
Макеты индексируются, начиная с 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))
решение3
Возможно, просто воспользуйтесь Tweak Tool:
НТН
решение4
ОказываетсяКорицаНа настольном компьютере эта опция все еще есть! Здорово.