Как найти коды клавиш для клавиш Fn +?
Я пытаюсь выяснить код клавиши для нажатия клавиш Fn + ← (стрелка влево). Xev выходы
FocusOut event, serial 36, synthetic NO, window 0x3c00001, mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x3c00001, mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0, keys: 4294967213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Если он говорит мне ключевой код здесь, я не могу его интерпретировать, поэтому помощь будет принята с благодарностью.
Мне также любопытно узнать, возможно ли связать что-то с Fn + Del, но при испытании этой комбинации Xev выводит
KeyPress event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1984903, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XmbLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1985008, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False
что точно так же, как нажатие Del без Fn.
Итак, резюме для краткости
Как я могу найти код клавиши для Fn + ← (стрелка влево)?
Возможно ли даже связать что-то с Fn + Del или я сталкиваюсь здесь с ветряными мельницами?
1 ответ
Я не уверен, насколько это совершенно ясно для вас:
Чтобы показать коды клавиш нажатых клавиш, вы можете использовать, например, sudo showkey -k
, Это напечатает в моем случае для Fn+←:
keycode 165 press
keycode 165 release
На моей клавиатуре это одна из клавиш мультимедиа (предыдущий трек). То же самое для Fn+Del показывает 70
в качестве ключевого кода здесь (Scroll Lock).
Теперь общая проблема в этом заключается в том, что Fn может быть клавишей-модификатором, которая работает на уровне клавиатуры и изменяет фактический код сканирования, который отправляется. Таким образом, вы можете вообще не знать, нажата ли Fn, поскольку ни одна часть ОС или BIOS не может его увидеть. Если это не так, то BIOS может увидеть, что эта клавиша была нажата. Некоторые производители оборудования предоставляют программное обеспечение, которое можно использовать для изменения поведения клавиши Fn (например, Toshibas Fnesse).
Итак: в общем случае невозможно узнать, что была нажата клавиша Fn, а скан-код и код комбинации клавиш, включая Fn, зависят от индивидуальной конструкции клавиатуры.