Як знайти ключові коди для клавіш Fn +?


12

Я намагаюся дізнатися код ключа 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.

Отже, короткий підсумок

  1. Як знайти ключ Fn+ для + (стрілка вліво)?

  2. Чи можливо навіть щось прив’язати до Fn+ Delчи я тут стикаюся з вітряками?

Відповіді:


18

Я не впевнений, наскільки це вам цілком зрозуміло:

Щоб відобразити кодові клавіші натиснутих клавіш, ви можете використовувати напр sudo showkey -k. Це надрукується в моєму випадку для Fn+ :

keycode 165 press
keycode 165 release

На моїй клавіатурі це одна з медіа-клавіш (попередня доріжка). Те саме для Fn+ Delпоказує, 70як і тут клавіатурний код (блокування прокрутки).

Зараз загальною проблемою в цьому є те, що Fnможе бути ключ модифікатора, який працює на рівні клавіатури та змінює фактичний код сканування, який надсилається. Тож ви, можливо, взагалі не зможете знати, чи Fnнатиснуто, оскільки жодна частина ОС чи BIOS не може бачити це. Якщо це не так, то BIOS може побачити, що ця клавіша була натиснута. Деякі виробники обладнання пропонують програмне забезпечення, яке можна використовувати для зміни поведінки клавіші Fn таким чином (наприклад, Toshibas Fnesse ).

Отже: взагалі немає способу знати, що Fnбуло натиснуто, а код сканування та код клавішних комбінацій, у тому числі Fnзалежить від індивідуального дизайну клавіатури.


1
Я приймаю вашу відповідь важким серцем. Я б хотів, щоб ви помилялися, але, здається, саме так, як ви описали. Дякую за чітку відповідь.
BudwiseЯ

Цікаво, що на клавіатурі Razer Lycosa натисканням на попередню медіа-клавішу "кнопка" виводиться код 165!
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.