Jak znaleźć kody klawiszy Fn +?

12

Próbuję znaleźć kod dla Fn+ naciśnięcia klawisza (strzałka w lewo). Wyjścia 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  

Jeśli mówi mi tutaj kod, nie jestem w stanie go zinterpretować, więc pomoc byłaby mile widziana.

Jestem również ciekawy, czy mogę powiązać coś z Fn+, Delale podczas wypróbowywania tej kombinacji Xev generuje

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

co jest dokładnie takie samo jak naciśnięcie delbez Fn.

Podsumowanie w skrócie

  1. Jak znaleźć kod dostępu dla Fn+ (strzałka w lewo)?

  2. Czy w ogóle można coś powiązać z Fn+ Delczy stawiam czoła wiatrakom?

BudwiseЯ
źródło

Odpowiedzi:

18

Nie jestem pewien, jak wiele z tego jest dla Ciebie całkowicie jasne:

Aby wyświetlić kody naciśniętych klawiszy, możesz użyć np sudo showkey -k. To wydrukuje się w moim przypadku dla Fn+ :

keycode 165 press
keycode 165 release

Na mojej klawiaturze jest to jeden z klawiszy multimediów (poprzednia ścieżka). To samo dla Fn+ Delpokazuje, 70co tutaj kod (Blokada przewijania).

Wydaje się, że ogólnym problemem jest to, że Fnmoże to być klawisz modyfikujący, który działa na poziomie klawiatury i modyfikuje wysyłany kod skanowania. W związku z tym możesz nie wiedzieć, czy Fnzostał naciśnięty, ponieważ żadna część systemu operacyjnego lub BIOS go nie widzi. Jeśli tak nie jest, system BIOS może zobaczyć, że ten klawisz został naciśnięty. Niektórzy producenci sprzętu zapewniają oprogramowanie, które może być użyte do modyfikacji zachowania klawisza Fn w ten sposób (np. Toshibas Fnesse ).

Tak więc: ogólnie nie ma sposobu, aby wiedzieć, że Fnzostał naciśnięty, a skancode i kod kombinacji klawiszy, w tym Fnzależy od indywidualnego projektu klawiatury.

xubuntix
źródło
1
Akceptuję twoją odpowiedź z ciężkim sercem. Chciałbym się mylić, ale wygląda na to, że dokładnie tak jak opisałeś. Dzięki za jasną odpowiedź.
BudwiseЯ
Co ciekawe, na klawiaturze Razer Lycosa naciśnięcie przycisku „poprzedni nośnik” daje kod 165!