Использует ли Wayland XKB для раскладок клавиатуры?

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

Поскольку XKB является частью X window, используется ли XKB в Wayland? Если да, планируется ли замена XKB в будущем?

В Westone, obviously, setxkbmap не работает. Какой способ изменения раскладки клавиатуры сейчас рекомендуется?

Да, Wayland использует XKB для раскладок клавиатуры. Но это не совсем правильный вопрос, потому что вещи работают иначе, чем в X. Помните, что Wayland — это всего лишь протокол (плюс вспомогательная библиотека).

На уровне протокола Wayland имеет событие wl_keyboard.keymap. Это событие содержит дескриптор файла для ключевой карты и классификатор формата. В данный момент определен только один формат: “xkb”. Таким образом, клиент Wayland получает совместимую с XKB ключевую карту и может использовать libxkbcommon, чтобы интерпретировать это и получить нужный глиф на экране и т.д.

Но Wayland не определяет как эта ключевая карта принимается. Это решение зависит от композитора. В Weston она читается из конфигурационного файла при старте, в GNOME она поступает из gsettings и т.д. Таким образом, это решение также определяет, как вы можете изменять ключевые карты во время выполнения (если это возможно). В GNOME вы либо используете панель конфигурации, либо устанавливаете ключи gsettings напрямую.

Протокол X имеет запросы для установки ключевой карты на уровне протокола, и именно они делают возможными такие инструменты, как setxkbmap. В Wayland таких запросов нет, установить ключевую карту только с помощью протокола Wayland невозможно.

Дополнительные ресурсы

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

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

Принципы работы Wayland с XKB

Wayland не является полноценным сервером отображения, как X.Org; он представляет собой протокол, который требует реализации на уровне композитора. Важно отметить, что Wayland по своему определению имеет событие wl_keyboard.keymap, которое позволяет клиентам Wayland получать информацию о раскладке клавиатуры. В частности, это событие содержит файловый дескриптор и формат классификатора, и на текущий момент единственным определённым форматом является "xkb". Это значит, что клиенты Wayland могут получать XKB-совместимые раскладки, используя библиотеку libxkbcommon для интерпретации этих раскладок и отображения соответствующих символов на экране.

Назначение распознавания раскладки

Тем не менее, Wayland не задает, как именно эта раскладка определена. Вопрос конфигурации и изменения раскладок клавиатуры и их источников полностью ложится на плечи композитора. Например:

  • В Weston раскладки читаются из конфигурационного файла при запуске.
  • В GNOME системы клавиатуры настраиваются через gsettings или графический интерфейс.

Таким образом, непосредственно с помощью протокола Wayland невозможно изменить раскладку клавиатуры так, как это делается с помощью утилит, таких как setxkbmap, в системе X.

Способы изменения раскладки клавиатуры в Wayland

В современных реализациях Wayland пользователям предлагается несколько подходов к настройке раскладок:

  1. Конфигурация XKB-файлов: Так как Wayland использует libxkbcommon, конфигурационные файлы могут размещаться в директории $XDG_HOME_CONFIG/xkb/. Это позволяет расширять раскладки и варианты, задавая их напрямую в $XDG_HOME_CONFIG/xkb/symbols/.

  2. Правила и варианты: Если пользователя интересует индивидуальная настройка, он может дополнительно использовать $XDG_HOME_CONFIG/xkb/rulesets/evdev, чтобы обеспечить доступ к определённым аспектам конфигурации.

  3. GUI-менеджеры раскладок: Для удобства пользователей, которые предпочитают графические интерфейсы (например, GNOME Tweaks), необходимо создать файл $XDG_HOME_CONFIG/xkb/rulesets/evdev.xml, чтобы раскладки отображались корректно.

Заключение

Таким образом, хотя Wayland и использует XKB для работы с раскладками клавиатуры, управление этими раскладками осуществляется иным образом в сравнении с X. Прокол и композитор определяют, как раскладка считывается, и пользователи должны ориентироваться на данные подходы для изменения своих настроек. Вопрос о будущем XKB и его замене пока остаётся открытым, так как в настоящее время нет официальной информации о планах его замены.

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

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

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