На каком этапе процесса загрузки можно изменить таблицы преобразования скан-кодов / кодов клавиш драйверов клавиатуры, поддерживающих API входного уровня Linux?

Я использую keyfuzz для отображения Alt-Eject на Alt-SysRq на клавиатуре Mac (см. здесь ). Но в недавнем (X) Ubuntus предпочтительнее использовать службу systemd для запуска необходимой команды при запуске. Интересно, как рано я смогу выполнить эту услугу? Например, какие WantedBy=, After=, Before= и подобные атрибуты использовать, чтобы конфигурация работала и не была перезаписана? Будет ли он работать даже при загрузке в режиме восстановления?

здесь - это некоторая ссылка на зависимости между различными целями.

Редактировать: я поместил WantedBy=multi-user.target friendly-recovery.target в раздел [Install] созданного мной файла .service. Похоже, что это работает и в режиме восстановления корневой оболочки.

0
задан 1 September 2019 в 11:45

2 ответа

Я поместил WantedBy=multi-user.target friendly-recovery.target в [Install] раздел .service файла, который я создал. Это, кажется, работает также в корневой оболочке режима восстановления. Однако, я не знаю, если это - лучшая конфигурация для использования.

0
ответ дан 23 October 2019 в 03:56

Вместо того, чтобы использовать keyfuzz я пытался повторно отобразить scancode-> код клавиши как danzel, рекомендуемый в команде, и согласно инструкциям в/lib/udev/hwdb.d/60-keyboard.hwdb и в здесь .

я создал файл/etc/udev/hwdb.d/10-apple-keyboard.hwdb со следующим содержанием:

evdev:name:Apple, Inc. Apple Internal Keyboard / Trackpad:dmi:bvn*:bvr*:bd*:svnAppleInc.:pn*
 KEYBOARD_KEY_c00b8=sysrq

Для файла я получил имя устройства от третьей строки вывода sudo evtest /dev/input/by-id/usb-Apple__Inc._Apple_Internal_Keyboard___Trackpad-evenkbd, scancode извлечь ключа той же командой - видят связанный ответ - и код клавиши от /usr/include/linux/input-event-codes.h (в нижнем регистре и без 'ключа _' префикс в вышеупомянутом.)

, Но все еще нажатие кнопки выброса инициировал KEY_EJECTCD и не KEY_SYSRQ как показано sudo uvtest:

Event: time 1567436214.147340, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b8
Event: time 1567436214.147340, type 1 (EV_KEY), code 161 (KEY_EJECTCD), value 1
Event: time 1567436214.147340, -------------- SYN_REPORT ------------

я не могу подтвердить ключевое отображение:

udevadm info /dev/input/by-id/usb-Apple__Inc._Apple_Internal_Keyboard___Trackpad-event-kbd | grep KEYBOARD_KEY

, Который ничего не отображает.

0
ответ дан 23 October 2019 в 03:56

Другие вопросы по тегам:

Похожие вопросы: