Какой эквивалент загрузки xkb-карты клавиатуры с помощью xkbcomp для Wayland?

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

У меня была хорошая раскладка клавиш, которую я определил с помощью xmodmap, но у меня возникли проблемы при использовании “кросс-платформенных приложений” (в частности, Chrome и Obsidian), поэтому я исправил их, переопределив ее как раскладку xkb. Это работало нормально, но потом я захотел переключиться на kde plasma на Wayland (из-за этой старой ошибки, которая заставляет kde связывать клавиши, которые не следует), и теперь это больше не работает.

Я создал раскладку, используя xkbcomp :0 map.xkb, затем отредактировал файл карты и загрузил его с помощью xkbcomp map.xkb :0. Я сделал это, потому что хотел изменить модификаторы и не мог понять, как заставить логику /usr/share/X11/xkb не определять модификаторы по умолчанию перед загрузкой моей карты. Однако на Wayland xkbcomp, похоже, ничего не делает.

Есть ли аналог xkbcomp map.xkb :0 для Wayland — или какой-либо способ перезагрузить полную раскладку клавиш без использования всех правил в /usr/share/X11/xkb?

Связанные вопросы и исследования

Этот вопрос говорит о добавлении “частичных раскладок клавиш”, которые Wayland может рассматривать, но я не хочу бороться со всеми событиями и правилами — мне нужно переназначить модификаторы (и xkb не имеет концепции отмены назначения)

Ваш вопрос не имеет большого смысла, так как Wayland является протоколом, а не композитором.

Что можно сделать, следуйте этому:

Это должно сработать для инверсии Caps lock с Esc, например, так как композиторы обычно придерживаются xkbcommon:

export XKB_DEFAULT_OPTIONS=caps:escape

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

Wayland и XKB являются важными компонентами в современных системах Linux, особенно когда речь идет о конфигурации клавиатур. В отличие от X11, где управление раскладками клавиатур выполняется с помощью инструментов вроде xmodmap и xkbcomp, в экосистеме Wayland подход к настройке клавиатур несколько иной.

Теория

Во-первых, важно понимать, что Wayland — это протокол, а не оконный менеджер сам по себе. Он определяет, как клиентские приложения и дисплейные серверы взаимодействуют друг с другом. Однако сам протокол не ответственен за такие детали, как управление клавиатурными раскладками. Эта задача обычно возлагается на композиторы, такие как KDE Plasma (запущенный на Wayland), GNOME, или Sway.

Композиторы на основе Wayland управляют раскладками клавиатур через библиотеку libxkbcommon, которая является стандартом для работы с XKB в окружениях Wayland. Элементы конфигурации, такие как замена клавиш или изменение модификаторов, должны быть определены на низком уровне непосредственно через композитор.

Пример

Чтобы продемонстрировать, как это работает на практике, рассмотрим пример использования KDE Plasma на Wayland. В этой среде поддержка настройки клавиатуры интегрирована в системные настройки. Однако если требуется вручную ввести нестандартную конфигурацию, как это часто необходимо при использовании xkbcomp на X11, могут возникнуть сложности, так как прямого аналога xkbcomp для Wayland не существует.

Один из подходов, который можно применить, — это настройка переменных окружения, таких как XKB_DEFAULT_OPTIONS. Например, если требуется изменить местами Caps Lock и Escape, можно установить переменную окружения:

export XKB_DEFAULT_OPTIONS=caps:escape

Эта команда работает, если композитор поддерживает libxkbcommon и интерпретирует такие настройки в соответствии с библиотекой.

Применение

Чтобы добиться гибкости в настройках клавиатуры на Wayland, необходимо принимать во внимание композитор, который вы используете. Каждый композитор может иметь свои особенности в обработке настроек клавиатуры.

  1. KDE Plasma: Эта среда должна включать поддержку изменения раскладок клавиатуры через свои графические настройки. Однако для выполнения более сложных перенастроек может понадобиться редактирование пользовательских конфигурационных файлов или использование связанных утилит для интерпретации XKB настроек.

  2. GNOME: В GNOME поддержка конфигурации клавиатуры может потребовать использования gsettings или dconf для применения конфигураций.

  3. Sway: В случае Sway, который является заменой для i3 на Wayland, доступен иной подход к настройке клавиатуры через конфигурации в sway.conf.

Очевидные сложности

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

Заключение

В мире Linux, особенно с переходом от X11 к Wayland, подходы к настройке системных компонент, таких как раскладки клавиатур, изменяются. При работе с Wayland необходимо погружаться в конфигурационные возможности, предлагаемые конкретными оконными менеджерами и композиторами, такими как KDE Plasma, и активно использовать их API или предоставляемые утилиты.

Стоит также отслеживать обновления и документы по каждому из композиторов и библиотек, так как Wayland активно развивается, и возможности настройки клавиатур могут меняться с каждым выпуском.

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

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