Вопрос или проблема
Итак, я следовал этим инструкциям: https://askubuntu.com/a/24930/2130035
Команда “xmodmap -pke >~/.Xmodmap” корректно создает файл .Xmodmap. Я нахожу строку для x (код клавиши 53) и заменяю ее на “keycode 53 = x X x X c C c C c C”. Ожидаемое поведение: altgr+x = c, altgr+shift+x = C. Я дублирую .Xmodmap и переименовываю дубликат в .xinitrc. Я заменяю содержимое текстом “xmodmap .Xmodmap”. Затем запускаю “xmodmap .Xmodmap”.
Наблюдаемое поведение: altgr + x = », altgr + shift + x = >.
Кажется, упражнение не оказало эффекта.
(Я бы оставил это как комментарий к тому ответу, но мне это не разрешено.)
Информация о системе:
Ubuntu 22.04.5 LTS, 64 бит
Версия GNOME: 42.9
Система отображения: Wayland
Модель оборудования: HP HP Laptop 14-dk0xxx
Ответ или решение
Конечно, давайте рассмотрим вашу проблему с переназначением клавиш на вашей системе Ubuntu 22.04.5 LTS, работающей в среде GNOME 42.9 и использующей систему окон Wayland.
Теория
Переназначение клавиш в Linux традиционно осуществляется с помощью утилиты xmodmap
. Однако следует учитывать, что с переходом на Wayland, который используется в современных дистрибутивах Linux, применение xmodmap
может быть ограничено или вовсе не поддерживаться. Wayland и X11 обрабатывают ввод с клавиатуры по-разному, и инструменты для работы с X11 не всегда совместимы с Wayland.
Пример
Ваш текущий подход включает создание файла .Xmodmap
и использование xmodmap
для его применения. Вы уже изменили конфигурацию так, чтобы клавиша x
(ключевой код 53) вела себя согласно вашим требованиям. Однако наблюдаемое поведение не соответствует ожидаемому, поскольку комбинации клавиш AltGr+x и AltGr+Shift+x дают символы, отличные от запланированных.
Применение
Чтобы эффективно решить вашу проблему, можно рассмотреть несколько возможных решений и инструментов, учитывая особенности Wayland:
-
Использование Gnome Settings для переназначения клавиш: GNOME имеет встроенные возможности для переназначения горячих клавиш, хотя они могут быть ограничены в случае более сложных комбинаций. Попробуйте использовать статью официальной документации GNOME для настройки.
-
Использование дополнительных утилит: Поскольку Wayland не поддерживает
xmodmap
, вы можете обратить внимание на такие утилиты, какsetxkbmap
илиgsettings
, которые могут помочь в настройке маппинга клавиш. Однако они также могут иметь ограничения в среде Wayland. -
Использование
autokey
илиxcape
: Эти утилиты предназначены для более сложного автоматического управления клавишами.autokey
позволяет создавать скрипты, которые привязываются к определенным клавишам или комбинациям, аxcape
может переопределять значение отдельных клавиш. -
Конфигурация на уровне XKB: Вы можете попробовать изменить настройки клавиатурных раскладок на уровне XKB. Настройки XKB находятся в
/usr/share/X11/xkb/
. Там вы можете найти файлы, такие какsymbols
, которые отвечают за маппинг клавиш. Будьте внимательны и сделайте резервную копию всех файлов перед изменением. -
Использование
input-remapper
: Это современный инструмент, который поддерживает как X11, так и Wayland, и предоставляет удобный интерфейс для переназначения клавиш на вашей клавиатуре.
Пошаговая инструкция с использованием input-remapper
-
Установка
input-remapper
:sudo add-apt-repository ppa:solaar-unifying/stable sudo apt update sudo apt install input-remapper
-
Запуск и настройка:
- После установки найдите
input-remapper
в меню приложений. - Запустите и выберите ваш клавиатурный интерфейс.
- Создайте новое правило: выберите исходную клавишу и назначьте ей нужную комбинацию.
- Сохраните изменения и примените их.
- После установки найдите
-
Тестирование:
- Проверьте, работают ли ваши настройки, выполнив те же комбинации клавиш.
- Если что-то не работает, проверьте справочную информацию или настройте клавиши с помощью GUI интерфейса утилиты.
Заключение
Учитывая переход на Wayland в вашей системе, важно выбирать инструменты, которые полноценно поддерживают эту среду. xmodmap
и другие традиционные инструменты могут не действовать как ожидается, что и произошло в вашем случае. Либо используйте инструменты настройки, встроенные в GNOME, либо применяйте более современные утилиты вроде input-remapper
, которые специально предусмотрены для работы в многообразных условиях окружения рабочего стола.