Вопрос или проблема
Как использовать нециклическое переключение раскладок клавиатуры в Ubuntu 22?
Я пробовал использовать Gnome-tweaks, но безуспешно.
Переключение с помощью горячих клавиш работает. Например, если я назначаю Caps Lock (grp:caps_toggle
в терминологии setxkbmap), оно работает как ожидается – переключает раскладки. Но когда я использую Левый Ctrl для первой раскладки; Правый Ctrl для последней раскладки
эти комбинации ничего не делают.
Что я хочу:
- нажать клавишу или комбинацию клавиш A – получить раскладку A
- нажать клавишу или комбинацию клавиш A – раскладка не меняется, все еще раскладка A
- нажать клавишу или комбинацию клавиш B – получить раскладку B
Я предполагаю, что опции setxkbmap ниже (которые также можно выбрать в Gnome Tweaks) могут помочь мне достичь своего
grp:shift_caps_switch Caps Lock для первой раскладки; Shift+Caps Lock для последней раскладки
grp:win_menu_switch Левая Win для первой раскладки; Правая Win/Menu для последней раскладки
grp:lctrl_rctrl_switch Левая Ctrl для первой раскладки; Правая Ctrl для последней раскладки
grp:lctrl_lwin_rctrl_menu Левая Ctrl+Левая Win для первой раскладки; Правый Ctrl+Menu для второй раскладки
Пожалуйста, помогите мне найти ответ
Я все еще ищу решение, которое позволит мне использовать комбинации, такие как Левый Ctrl + Левый Super.
Тем временем, если вас устраивает более ограниченное пространство возможностей для горячих клавиш, вот вариант решения с использованием стандартных инструментов:
Примечание: это нарушит ваше стандартное переключение раскладок.
- Нажмите Super (win)
- Введите
keyboard
, перейдите в Настройки клавиатуры - Прокрутите вниз, перейдите к Сочетания клавиш
- Прокрутите вниз, перейдите к Пользовательские сочетания клавиш
- Добавьте пользовательское сочетание клавиш
- Имя: любое, которое вам нравится
- Команда:
setxkbmap -layout us
(заменитеus
на раскладку, которую вы хотите) - Сочетание: установите предпочтительное сочетание
- Повторите добавление сочетаний для нужного числа раскладок
Я все еще ищу решение, которое позволит мне использовать комбинации, такие как Левый Ctrl + Левый Super.
Keyd вероятно, позволит вам это сделать.
.
Ответ или решение
Для пользователей Ubuntu, сталкивающихся с необходимостью настройки некруговых переключений раскладок клавиатуры, существует несколько подходов. Ваша задача заключается в том, чтобы назначить определенные клавиши или комбинации клавиш на конкретные раскладки, без перехода через все доступные раскладки циклически.
Шаги по настройке некругового переключения раскладок:
-
Использование команды
setxkbmap
:
Большинство системных решений связаны с инструментомsetxkbmap
, который предоставляет гибкие возможности для назначения раскладок на кнопки или их комбинации. Пример:setxkbmap -layout us
Этот код переключает раскладку на английскую; замените
us
на код нужной вам раскладки. Вам нужно будет настроить такой скрипт для каждой раскладки и назначить его на клавиши или комбинации клавиш через системные настраиваемые сочетания клавиш. -
Настройка через интерфейс Ubuntu:
- Откройте "Настройки клавиатуры" через меню приложений.
- Перейдите в раздел "Сочетания клавиш".
- Найдите "Пользовательские сочетания клавиш" и добавьте новое.
- Укажите имя для сочетания.
- Впишите команду
setxkbmap -layout <код_раскладки>
. - Настройте удобное для вас сочетание клавиш.
-
Кастомизация с использованием Gnome Tweaks:
Хотя вы указали, что Gnome Tweaks на первый взгляд не помог, обратите внимание на выбор альтернатив вsetxkbmap
, такие как:grp:shift_caps_switch grp:win_menu_switch grp:lctrl_rctrl_switch
Они позволяют задавать простое переключение между первой и последней раскладками. Однако если вам нужны более сложные комбинации, этот подход может быть ограниченным.
-
Использование сторонних программ:
Рассмотрите использование утилит, таких как Keyd. Keyd предоставляет больше возможностей для настройки сложных комбинаций клавиш, включая такие, какLeft Ctrl + Left Super
.
Заключение:
При настройке некруговых переключений раскладок в Ubuntu 22, самым гибким решением остается setxkbmap
в сочетании с пользовательскими сочетаниями клавиш. Это позволяет создать более интуитивный интерфейс, зависимый только от одного нажатия клавиши или комбинации. Если стандартные средства не удовлетворяют вашим требованиям по удобству и гибкости, Keyd может стать мощной альтернативой.
Обратите внимание на тщательную проверку доступных функций командной строки при использовании setxkbmap
, чтобы исключить автоматическое переключение, а также обеспечьте сохранность ваших настроек, чтобы избежать их сброса после перезагрузки системы.