web-dev-qa-db-fra.com

Comment trouver les keycodes pour les touches Fn +?

J'essaie de trouver le keycode pour Fn+ appuyez sur la touche (flèche gauche). Xev sorties

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  

S'il me dit le code d'activation ici, je ne peux pas l'interpréter, alors l'aide serait appréciée.

Je suis aussi curieux de savoir s’il est possible de lier quelque chose à Fn+Del mais en essayant cette combinaison, les sorties 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

qui est exactement la même chose que presser del sans pour autant Fn.

Donc, résumé pour faire court

  1. Comment trouver le keycode pour Fn+ (Flèche gauche)?

  2. Est-il même possible de lier quelque chose à Fn+Del ou suis-je face à des moulins à vent ici?

11
budwiser

Je ne sais pas à quel point cela est parfaitement clair pour vous:

Pour afficher les codes de touches des touches sur lesquelles vous avez appuyé, vous pouvez utiliser par exemple Sudo showkey -k. Cela imprimera dans mon cas pour Fn+:

keycode 165 press
keycode 165 release

Sur mon clavier, il s’agit d’une des touches multimédias (piste précédente). Même chose pour Fn+Del affiche 70 comme code de touche ici (verrou de défilement).

Maintenant, le problème général avec ceci semble être que Fn peut être une touche de modification qui fonctionne au niveau du clavier et modifie le code de scan réel envoyé. Donc, vous pourriez ne pas être en mesure de savoir si Fn est pressé, car aucune partie du système d'exploitation ou du BIOS ne peut le voir. Si ce n'est pas le cas, le BIOS peut alors voir que cette touche a été enfoncée. Certains fabricants de matériel fournissent un logiciel permettant de modifier le comportement de la touche Fn de cette manière (par exemple, Toshibas Fnesse ).

Donc: en général il n'y a aucun moyen de savoir que Fn a été appuyé et le scancode et le code clé des combinaisons de touches, y compris Fn dépend de la conception du clavier individuel.

16
xubuntix