Какой макрос KEY_ в Linux input.h соответствует клавише меню?
Я хочу использовать uinput для эмуляции нажатия клавиши меню рядом с правой клавишей Alt. Я пробовал KEY_MENU и KEY_CONTEXT_MENU, но ни один из них не работал. Ключ в Win32 API - это VK_APPS.
1 ответ
KEY_COMPOSE
является правильным кодом ключа ядра.
Некоторая разработка из примечаний к событиям клавиатуры Chromium :
Названия «Меню» и «Реквизиты» различаются между событиями evdev и USB / UI. USB 0x010085 [Главное меню системы] и USB 0x0C0040 [Режим меню] соответствуют evdev 0x8B KEY_MENU (у которого нет соответствующих событий пользовательского интерфейса |код|). USB 0x070076 [Меню клавиатуры] не соответствует KEY_MENU; он сопоставляется с evdev 0x82 KEY_PROPS, что не совпадает с «реквизитами» событий USB и пользовательского интерфейса. USB 0x0700A3 [Props], который соответствует событиям пользовательского интерфейса «Props», не отображается ядром. (И все они отличаются от «ContextMenu» событий пользовательского интерфейса, который соответствует USB 0x070065 [Приложение клавиатуры] через evdev 0x7F KEY_COMPOSE, следуя соглашению Windows.)