Как отключить определенные клавиши клавиатуры в Yocto - PullRequest
1 голос
/ 28 марта 2019

Я хочу отключить определенные клавиши при создании изображения в yocto.Я знаю, что в пользовательском темпе мы можем добиться этого с помощью утилиты xmodmap, но я хочу добиться этого самого ядра.

Я проверил файл drivers/try/vt/defkeymap.map и изменил его в соответствии с моим требованием, но loadkeys не смог сгенерировать файл defkeymap.c.Выдает эту ошибку:

/bin/sh: 1: loadkeys: not found.

Я иду в правильном направлении?Или есть какая-либо другая возможность изменить карту кодов по умолчанию?

1 Ответ

0 голосов
/ 07 апреля 2019

Необработанные данные клавиатуры - коды сканирования , которые драйвер клавиатуры преобразует в коды клавиш cf https://unix.stackexchange.com/questions/319787/how-does-the-linux-kernel-handle-keyboards-inputs-outputs. Способ создания пользовательской раскладки клавиатуры для консоли находится в https://wiki.archlinux.org/index.php/Linux_console/Keyboard_configuration#Creating_a_custom_keymap, чтобы не редактировать файл драйвера, loadkeys требует изменений в определенном каталоге / файле:

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

source: https://wiki.archlinux.org/index.php/Linux_console/Keyboard_configuration#Creating_a_custom_keymap

Если вы хотите сделать это на уровне модуля ядра, вы должны переписатьили исправьте весь модуль клавиатуры.

В https://unix.stackexchange.com/questions/319787/how-does-the-linux-kernel-handle-keyboards-inputs-outputs содержится много важной информации (ссылки на исходный код, ...) для всех уровней, включая решение этой проблемы на уровне модуля ядра (запись / исправление модуля ядра)

...