как отобразить панель меню в Okular

Частичный ответ :Отображение xmodmapна самом деле работает правильно. Как показывает xev, вы получаете keysym 0xffbe, что равно F1, как и должно быть.

Итак, вопрос (1 ), почему он все еще меняет яркость и (2 ), почему он возвращает код клавиши 232 (дляKEY_BRIGHTNESSDOWN)вместо кода для клавиши F1 (. ] 67 ).

Для (1 )я подозреваю, что Ubuntu запускает что-то по умолчанию, читая напрямую из /dev/inputвместо обработки событий X, и это обработка ключа независимо от того, что говорит xmodmap. Вы не сказали, в какой среде рабочего стола вы используете (Gnome? ). Вы можете найти с помощью lsofпроцесс, который напрямую считывает /dev/input/eventXисточник (вы получили число X из evtest, числа могут меняться в разных ботинках ). Вы также можете проверить эту теорию, запустив evtest --grab /dev/input/eventX:. Это сделает evtestэксклюзивной программой для обработки событий, поэтому, когда вы нажимаете Fn+F1, она по-прежнему должна отображать KEY_BRIGHTNESSDOWN, но яркость экрана вашего ПК/ноутбука должно остаться прежним.

Что касается (2 ), поиск в Google названия бренда показывает, что это Bluetooth-клавиатура. Это означает, что это, вероятно, HID-устройство. Вы можете выполнить отладку, просмотрев dmesg, чтобы определить соответствующий файл устройства hidrawи идентификатор Bluetooth. Затем выполните

mount -t debugfs none /sys/kernel/debug

как root, и посмотрите sys/kernel/debug/hid/*/rdescдля правильного устройства (посмотрите доступные подкаталоги ).Если вы не можете понять это, поместите его в pastebin и отредактируйте вопрос со ссылкой. Кроме того, выгрузите необработанные события HID, используя hexdump -C /dev/hidrawX, несколько раз нажав Fn и F1, F2 и т. д. Это должно дать вам представление о том, почему ядро ​​переводит именно так.

Редактировать

Глядя на дамп hidraw, клавиатура правильно выдает скан-коды 3a, 3bи т. д. для функциональных клавиш, как описано в дескрипторе HID.

Таким образом, проблема должна быть в уровне преобразования ввода HID -в -.

Вы можете опросить этот уровень с помощью ioctl. Я не знаю общедоступного инструмента для этого, но я могу разместить его на github, когда он будет готов.

Единственный известный мне способ установить это сопоставление — через базу данных udev hwdb, как описано, например. здесь .

Итак, я бы предположил, у кого установлен какой-то пакет, который предоставляет запись в базе данных для сопоставления F1 с регулировкой яркости, а также предоставляет программу, реагирующую на это путем прямого мониторинга /dev/input/event*. Попробуйте посмотреть, сможете ли вы найти его в своей системе. lsofможет помочь.

0
01.08.2019, 10:39
1 ответ

Ctrl + M — это сочетание клавиш по умолчанию для скрытия/отображения строки меню

8
28.01.2020, 03:24

Теги

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