Я гуглил это почти неделю, но безрезультатно. Когда я открываю панель настроек клавиатуры, опции (те, в которых есть «Пробел») ограничены только Alt+ Space и Super+ Space– нет Ctrl+ Space.
Я нашел несколько ответов, но ни один из них не работает.
Первый способ — установить xfce4-xkb-plugin (который у меня уже был установлен), затем установить флаг «использовать системные настройки по умолчанию» на панели настроек клавиатуры, после чего использовать свойства плагина для установки языков и сочетаний клавиш. Это не работает — на панели свойств есть только параметры внешнего вида элемента панели... и все.
Номер два — это эта строка:
-option grp:ctrl_space_toggle,grp_led:scroll en,ru
Тоже не работает. Если я вставляю это в свой .Xmodmap
файл, возникает ошибка и файл больше не анализируется.
Я отказался от поиска, но мне это действительно нужно, так как это рефлекс на долгое время. Пожалуйста, помогите мне установить Ctrl+ Space как сочетание клавиш для смены раскладки. (Я использую Arch Linux.)
решение1
Вот оченьподробный ответэто мне помогло.
Что я сделал, чтобы активировать Ctrl + Space
селектор раскладки клавиатуры →
- Добавьте новую
grp:lctrl_space_toggle
строку селектора в/usr/share/X11/xkb/rules/evdev.lst
:
! option
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
...
grp:lctrl_space_toggle Ctrl+Space (Custom layout selector)
...
- Добавить новую
grp:lctrl_space_toggle
строку селектора в/usr/share/X11/xkb/rules/evdev
:
! option = symbols
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
altwin:menu_win = +altwin(menu_win)
...
grp:lctrl_space_toggle = +group(lctrl_space_toggle)
...
- Добавьте групповой блок в
/usr/share/X11/xkb/symbols/group
:
partial modifier_keys
xkb_symbols "lctrl_space_toggle" {
key <SPCE> {
type[Group1]="PC_CONTROL_LEVEL2",
symbols[Group1] = [ space, ISO_Next_Group ]
};
};
* Я добавил этот блок между другими grp:
группами
- Получить текущие параметры клавиатуры:
setxkbmap -print -verbose 10 | grep options:
Вывод (в моем случае):
options: ctrl:nocaps,grp:win_space_toggle
- Здесь значение по умолчанию
grp:win_space_toggle
переопределит наш параметр, поэтому сначала нам следует очистить все параметры:
setxkbmap -option
- Добавить новую опцию выбора макета + другие опции, которые были установлены ранее (кроме
grp:...
одной):
setxkbmap -option grp:lctrl_space_toggle,ctrl:nocaps
- Выгода
P.S. Возможно, что некоторые инструменты GUI могут переопределять это поведение при перезагрузке ( в моем случае это делала функция System
→ Keyboard
→ Advanced
в KDE), поэтому нам придется отключить все настройки сочетаний клавиш, чтобы избежать этого. Также может быть полезно добавить наши пользовательские параметры в /etc/default/keyboard
:
...
XKBOPTIONS="grp:lctrl_space_toggle,ctrl:nocaps"
...