Расширение клавиатуры X

редактировать
Расширение клавиатуры X
Автор (ы) исходного текста X.Org Foundation
Стабильный выпуск 1.0 / 1996; 24 года назад (1996)

В человеко-компьютерных интерфейсах, расширение X-клавиатуры или XKB является частью X Window System, который расширяет возможности управления клавиатурой по сравнению с тем, что предлагается основным протоколом системы X Window, и позволяет использовать несколько раскладок клавиатуры.

Его основной функции:

XKB состоит из двух частей: серверного расширения и клиентской библиотеки. Современные версии Xlib содержат XKB, который активен по умолчанию. Клиентские программы, не использующие это расширение, могут деактивировать его перед подключением к сервер, или может просто нормально работать, поскольку расширение по умолчанию имитирует основной протокол.

XKB также используется в компоновщиках Wayland и kmscon.

Содержание
  • 1 Модификаторы с фиксацией и блокировкой
  • 2 Группы клавиш
  • 3 Элементы управления
  • 4 Действия
  • 5 Проблемы совместимости
  • 6 Другое
  • 7 XKB2
  • 8 Ссылки
  • 9 Внешние ссылки
Модификаторы с фиксацией и фиксацией

XKB позволяет заблокировать или заблокировать модификатор, кроме обычного состояния. Обычно модификатор активен именно тогда, когда он нажат, например, Shift. Однако модификатор также может быть заблокирован, например модификатор Caps Lock. Когда модификатор заблокирован, он остается активным, пока не будет явно деактивирован. Промежуточным условием между обычным и заблокированным является состояние фиксации: когда модификатор зафиксирован, он остается активным, но только до тех пор, пока не будет нажата следующая немодификаторная клавиша.

XKB позволяет клиентскому приложению явно фиксировать или блокировать модификатор. Более того, приложение может привязать нажатие или отпускание клавиши к изменению состояния модификатора. Таким образом, модификатор может автоматически фиксироваться или блокироваться при нажатии или отпускании клавиши.

Группы клавиш

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

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

Элементы управления

Поведение клавиатуры зависит от ряда параметров, которые могут быть изменены клиентами. Эти параметры называются элементами управления. Например, элемент управления SlowKey можно использовать для игнорирования коротких нажатий клавиш. Еще один элемент управления - MouseKeys, который выполняет некоторые нажатия клавиш для имитации движения мыши. Элемент управления только указывает, активна эта симуляция или нет; какие клавиши производят движение, не считается частью элемента управления, но указывается путем привязки действий к этим клавишам.

Эти два элемента управления являются логическими : они либо активны, либо нет. PerKeyRepeat - это не логический элемент управления. А именно, это маска, которая говорит, какие клавиши находятся в режиме автоповтора. Согласно спецификации, небулевы элементы управления «всегда активны»: это означает, что они всегда зависят от набора параметров (в данном случае от маски), но нет единого бита, который можно использовать для деактивации эффектов. управления полностью.

Помимо логических или небулевых, элементы управления также классифицируются как влияющие на поведение сервера и влияющие на поведение клиентской библиотеки. Два вышеуказанных элемента управления сервером. Элементы управления клиентской библиотеки влияют на перевод кода клавиши или последовательности кодов клавиш в строку (XLookupString) и доставку событий.

Действия

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

  1. Изменить состояние модификатора, сделав его активным, неактивным, зафиксированным или заблокированным
  2. Изменить состояние селекторов групп (то же в качестве модификаторов)
  3. Имитировать событие мыши (движение или действие кнопки)
  4. Изменить активный экран (этот вид действия является необязательным, то есть не обязательно поддерживается сервером)
  5. Изменить состояние логических элементов управления
  6. Создать событие сообщения (то есть пакет, который отправляется клиенту)
  7. Создать другой ключевой код

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

Проблемы совместимости

Расширение клавиатуры X несовместимо с основной обработкой клавиатуры, и в результате несколько клавиш-модификаторов не работают или требуют обходных решений в эмулируемых средах, таких как VNC или Xephyr. В VNC включение расширения с помощью -xkb управляло решением какое-то время, пока не было окончательное решение с -add_keysyms для динамического добавления символов ключей в активную таблицу клавиш - еще в 2004 году.

Другое

XKB позволяет лучше обрабатывать (светодиоды). В частности, XKB предоставляет символические имена для индикаторов, что позволяет привязать индикаторы к активности клавиатуры и проверять, какие индикаторы фактически присутствуют на клавиатуре.

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

XKB позволяет клиенту запрашивать физическую форму клавиатуры, включая форму отдельных клавиш. В частности, клавиши организованы в секции, возможно, повернутые (например, цифровая клавиатура обычно считается секцией). Внутри раздела ключи расположены в ряды. Ключи и секции имеют геометрию, которая включает приблизительный контур ключа, его ограничивающую рамку и точную форму. Помимо клавиш, геометрия также включает в себя декорации, которые представляют собой элементы на клавиатуре, которые не являются клавишами. Общая форма клавиатуры - пустяк. Предоставляемая информация о декорациях включает их цвет и любой напечатанный на них текст (включая используемый шрифт).

XKB2

Новый интерфейс XKB2 был предметом обсуждения, но активно не развивается.

Ссылки
Внешние ссылки

на XKB

О XKB2

Последняя правка сделана 2021-06-22 06:57:21
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте