Définition des raccourcis clavier impliquant la touche Fn

17

Je suis habitué à appuyer sur Fn+ Leftpour simuler la Hometouche et Fn+ Rightpour End.

Sur un clavier avec des touches physiques Homeet End, l'utilisation de ces Fnraccourcis clavier ne fonctionne pas.

Comment mapper des Fnraccourcis clavier personnalisés sur Ubuntu Linux?

mox
la source
1
doublon possible de clés multimédias Bind . Ce n'est peut-être pas un double exact dans la description du problème, mais il est résolu par le même processus sous-jacent.
Daniel Andersson
Quelqu'un utilise-t-il des ordinateurs portables modernes (2018) comme HP Spectre x360 (bien qu'il dispose de clés PgUp, etc.) et Dell XPS conscients si la touche de fonction est détectée comme les autres touches?
MycrofD
1
J'utilise Lenovo Thinkpad X1 Carbon avec Fnclé, qui est détecté comme le code de clé 151 par xev. Tant que vous Fnappuyez sur Leftet que les Righttouches ne produisent aucun événement. Fn+F2ne produit aucun événement, mais fonctionne comme prévu - réduit le volume.
Suor

Réponses:

16

Contrairement aux modificateurs tels que Alt et Ctrl, le fait d'appuyer sur la touche Fn n'est jamais communiqué au système d'exploitation. La clé modifie simplement les scancodes des autres clés, donc appuyer sur Fn+ Rightémulerait une touche de fin, même si elle n’existe pas physiquement, mais elles ne peuvent pas être distinguées par le système d’exploitation. Ce comportement est contrôlé exclusivement par l'électronique du clavier et ne peut donc pas être modifié sans gâcher les circuits ou le microcontrôleur.

Marcks Thomas
la source
2
Il y a un système d'exploitation et un ordinateur qui est définitivement une exception à cette règle et c'est les ordinateurs portables mac. Vous pouvez modifier cette clé en utilisant Karabiner. Les thinkpads envoient également cette clé au système d'exploitation, mais ce n'est pas une touche de modification comme sur les macs.
William
2
Ce n'est pas vrai. xevaffiche Fnles pressions sur les touches.
Suor
1
Eh bien, sur ma machine Dell avec un Debian 10, xevn'affiche rien lorsque vous appuyez sur la touche Fn.
Pierre
12

Sur la plupart des systèmes, il n'est pas possible de détecter la Fnclé elle-même, mais vous pouvez essayer d'utiliser:

$ xev | grep --line-buffered keysym

pour savoir quelles clés Fn-Leftet Fn-Rightenvoyer. (Le grepréduit simplement le bruit.)

Si vous êtes chanceux, ces touches enverront des frappes sans importance à la machine, que vous pourrez ensuite remapper.

Par exemple, sur mon système, xevmontre que ma Fn-Leftpression sur une touche envoie réellement un XF86AudioPrevévénement:

state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,

Je peux facilement remapper cela pour le traduire en un Homeévénement clé:

$ xmodmap -e 'keysym XF86AudioPrev = Home'

J'espère que vous pourrez faire de même pour End, PageUp et PageDown.

Malheureusement, si xev ne reçoit rien d'unique lorsque vous appuyez sur, Fn-Leftvous n'avez pas de chance.

C'est vraiment dommage que les Fntouches ne soient pas envoyées directement comme les autres touches de modification. S'ils l'étaient, nous aurions beaucoup plus de pouvoir pour configurer leur signification via un logiciel.

joeytwiddle
la source
Malheureusement, fn sur mon ordinateur portable ne s'enregistre pas avec les événements de touches haut et bas de la même manière que les autres touches en empêchant cela de fonctionner correctement pour une touche de modification. Vous pouvez cependant le remapper sur une autre touche.
William
5

J'ai ouvert xevdans un terminal. Il détecte quand je presse la Shift, Ctrl, Altet Win( Super), mais quand j'appuyé sur la Fntouche , il ne détecte pas.

Le logiciel n'a donc rien à voir avec la Fnclé; c'est au matériel de décider quelle clé sera envoyée au logiciel (par exemple la clé Homeou End).

Votre clavier doit donc déjà l'avoir pour pouvoir le faire.

biggles5107
la source