Переключение макета без сохранения состояния в Ubuntu 14.04

Переключение макета без сохранения состояния в Ubuntu 14.04

Скриншот

Я активно использую две раскладки клавиатуры (латиницу для английского языка и кириллицу для украинского и русского языков), и мне неприятно испытыватьошибки режимаиз-за дополнительного бита состояния пользовательского интерфейса:текущий макет.

Я использовал, чтобы полностью устранить их, используябез гражданствапереключение раскладки, при котором не требуется никаких next layoutдействий (поскольку такое действие основано наТекущее состояние, что пользователь легко забывает и поэтому приводит к ошибкам), а не только два действия:

  1. включить латинскую раскладку;
  2. включить кириллическую раскладку.

Это было тривиально выполнимо в релизах до 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образом:

  1. Установить dconf-editor( sudo apt-get install dconf-editor)
  2. Откройте редактор dconf из панели управления и перейдите корггномрабочий столвходные источники
  3. Добавьте ваши настройки 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

ОказываетсяКорицаНа настольном компьютере эта опция все еще есть! Здорово.

Связанный контент