Вопрос или проблема
Я заметил, что в разделе “Supported events” вывода evtest
есть десять кодов клавиш KEY_KP{0-9}
, но я не знаю, что они означают. Я ищу несколько клавиш для использования на определенной клавиатуре (функциональные клавиши Chromebook) и хочу связать функцию в среде рабочего стола.
Я использовал определения событий (такие как KEY_REFRESH
) насколько мог, но некоторые функции, такие как Fullscreen и Overview, здесь не определены. Поэтому теперь я собираюсь использовать f{13-24}
для их реализации. Тем не менее, мне все еще интересно, что такое KEY_KP
.
Кстати, я использую keyd.
Коды клавиш KEY_KP{0-9}
соответствуют клавишам 0 до 9 на цифровой клавиатуре. Существуют и другие коды клавиш цифровой клавиатуры: KEY_KPENTER
, KEY_KPPLUS
, KEY_KPMINUS
и т. д. Подробнее см. в input-event-codes.h
в исходном коде ядра.
.
Ответ или решение
Вопрос о том, что такое KEY_KP0 до KEY_KP9 в контексте определений событий входа Linux, может быть немного запутанным, особенно для тех, кто не знаком с внутренними аспектами системы введения-вывода в Linux. Давайте подробно рассмотрим этот вопрос, чтобы прояснить его значение и применение.
Теория
KEY_KP{0-9} представляют собой коды клавиш, относящиеся к цифровому блоку (Numpad) клавиатуры. Цифровой блок является важной частью клавиатуры, предоставляющей пользователю доступ к быстрым числовым вводам и арифметическим операциям. В контексте системы ввода-вывода Linux, эти коды используются для идентификации нажатий на соответствующие клавиши цифрового блока. Это позволяет Linux распознавать, какие конкретно клавиши нажаты пользователем.
Цифровые клавиши связаны с конкретными кодами ввода, которые далее обрабатываются оболочкой, ядром Linux или другим программным обеспечением, таким как драйверы и системы захвата ввода, для интерпретации и выполнения действия. В отличие от стандартных числовых клавиш, расположенных над клавиатурой, цифровой блок часто дополняется дополнительными клавишами, такими как ENTER, PLUS, MINUS, и другие, доступные для выполнения математических операций.
Пример
Рассмотрим пример с использованием программы evtest
. Это утилита, предоставляющая информацию о событиях ввода в Linux. Когда вы запускаете evtest
, она отображает список поддерживаемых событий от выбранного устройства ввода. В разделе "Supported events" могут быть перечислены такие коды, как KEY_KP0, KEY_KP1 и так далее до KEY_KP9. Эти обозначения конкретно указывают на арифметические и числовые клавиши цифрового блока.
Вот небольшой фрагмент данных, которые вы могли бы увидеть:
- KEY_KP0 — клавиша 0 на цифровом блоке.
- KEY_KP1 — клавиша 1 на цифровом блоке.
- KEY_KP2 — клавиша 2 на цифровом блоке, и так далее до KEY_KP9.
- Другие примеры включают, к примеру, KEY_KPPLUS для кнопки плюс (+) и KEY_KPMINUS для кнопки минус (-).
Применение
Понимание данных кодов особенно важно для разработчиков, системных администраторов и пользователей, которым необходимо настраивать специфические функции клавиатуры или устройства ввода. Например, в вашей ситуации, где Chromebook используется с целью переназначать функции десктопной среды, знание и правильное применение этих кодов может быть ключевым.
В частности, если не хватает предопределённых функций, таких как полноэкранный режим или обзор, можно использовать некоторые из этих цифровых кодов для привязки требуемых функций. Например, через использование таких утилит как keyd
, можно переписать конфигурационный файл и настроить полезные сочетания клавиш.
Использование функции назначения позволяет создать более персонализированное управление системой, что в свою очередь может повысить производительность и удобство работы с устройством.
Заключение
Всестороннее понимание того, для чего используются KEY_KP{0-9}, предоставляет пользователям Linux гибкость в настройке своих компьютерных систем. Эти коды играют важную роль в настройке ввода, что позволяет достичь высокого уровня персонализации и адаптировать системы под конкретные задачи и рабочие процессы, а грамотное использование таких аспектов делает работу с Linux более эффективной и удобной.