Некциклические изменения раскладки клавиатуры в Ubuntu

Вопрос или проблема

Как использовать нециклическое переключение раскладок клавиатуры в Ubuntu 22?

enter image description here

Я пробовал использовать 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.

Тем временем, если вас устраивает более ограниченное пространство возможностей для горячих клавиш, вот вариант решения с использованием стандартных инструментов:

Примечание: это нарушит ваше стандартное переключение раскладок.

  1. Нажмите Super (win)
  2. Введите keyboard, перейдите в Настройки клавиатуры
  3. Прокрутите вниз, перейдите к Сочетания клавиш
  4. Прокрутите вниз, перейдите к Пользовательские сочетания клавиш
  5. Добавьте пользовательское сочетание клавиш
    • Имя: любое, которое вам нравится
    • Команда: setxkbmap -layout us (замените us на раскладку, которую вы хотите)
    • Сочетание: установите предпочтительное сочетание
  6. Повторите добавление сочетаний для нужного числа раскладок

Я все еще ищу решение, которое позволит мне использовать комбинации, такие как Левый Ctrl + Левый Super.

Keyd вероятно, позволит вам это сделать.

.

Ответ или решение

Для пользователей Ubuntu, сталкивающихся с необходимостью настройки некруговых переключений раскладок клавиатуры, существует несколько подходов. Ваша задача заключается в том, чтобы назначить определенные клавиши или комбинации клавиш на конкретные раскладки, без перехода через все доступные раскладки циклически.

Шаги по настройке некругового переключения раскладок:

  1. Использование команды setxkbmap:
    Большинство системных решений связаны с инструментом setxkbmap, который предоставляет гибкие возможности для назначения раскладок на кнопки или их комбинации. Пример:

    setxkbmap -layout us

    Этот код переключает раскладку на английскую; замените us на код нужной вам раскладки. Вам нужно будет настроить такой скрипт для каждой раскладки и назначить его на клавиши или комбинации клавиш через системные настраиваемые сочетания клавиш.

  2. Настройка через интерфейс Ubuntu:

    • Откройте "Настройки клавиатуры" через меню приложений.
    • Перейдите в раздел "Сочетания клавиш".
    • Найдите "Пользовательские сочетания клавиш" и добавьте новое.
      • Укажите имя для сочетания.
      • Впишите команду setxkbmap -layout <код_раскладки>.
      • Настройте удобное для вас сочетание клавиш.
  3. Кастомизация с использованием Gnome Tweaks:
    Хотя вы указали, что Gnome Tweaks на первый взгляд не помог, обратите внимание на выбор альтернатив в setxkbmap, такие как:

    grp:shift_caps_switch
    grp:win_menu_switch
    grp:lctrl_rctrl_switch

    Они позволяют задавать простое переключение между первой и последней раскладками. Однако если вам нужны более сложные комбинации, этот подход может быть ограниченным.

  4. Использование сторонних программ:
    Рассмотрите использование утилит, таких как Keyd. Keyd предоставляет больше возможностей для настройки сложных комбинаций клавиш, включая такие, как Left Ctrl + Left Super.

Заключение:

При настройке некруговых переключений раскладок в Ubuntu 22, самым гибким решением остается setxkbmap в сочетании с пользовательскими сочетаниями клавиш. Это позволяет создать более интуитивный интерфейс, зависимый только от одного нажатия клавиши или комбинации. Если стандартные средства не удовлетворяют вашим требованиям по удобству и гибкости, Keyd может стать мощной альтернативой.

Обратите внимание на тщательную проверку доступных функций командной строки при использовании setxkbmap, чтобы исключить автоматическое переключение, а также обеспечьте сохранность ваших настроек, чтобы избежать их сброса после перезагрузки системы.

Оцените материал
Добавить комментарий

Капча загружается...