3 votes

Faire en sorte que les "options de disposition [du clavier] supplémentaires" dans Gnome Tweaks s'appliquent à un clavier spécifique.

J'utilise les "options de disposition supplémentaires" de Gnome Tweaks pour personnaliser l'emplacement de mes touches de modification afin qu'elles soient utilisables pour la disposition de mon clavier. Je voudrais que ma touche gauche Win et laissé Ctrl pour changer de place sur le clavier interne de mon ordinateur portable uniquement mais pas pour mes claviers USB externes.

Comment puis-je y parvenir ?

Contexte : Le placement par défaut des touches de modification de troisième niveau est très peu ergonomique sur mon clavier Macbook Air, mais pas nécessairement sur les claviers externes. Cette situation exige que les options de disposition soient personnalisées par clavier.


Je tiens à préciser que macOS répond actuellement à ce besoin de manière adéquate en proposant le remappage arbitraire des touches de modification du clavier interne, alors que Windows ne dispose pratiquement d'aucune fonction similaire sans recourir à des outils tiers comme SharpKeys.

1voto

UnKNOWn Points 19980

Cela peut être réalisé au niveau du changement de matériel, donc annuler les changements que vous avez fait via gnome-tweaks . Nécessite les privilèges de root.

参考 https://manpages.ubuntu.com/manpages/focal/man7/hwdb.7.html

Note : Si l'un des paquets est trouvé "non installé" lors de cette opération, installez-le.

Exemple :

exécuter sudo evtest

[admin@ADMIN ~]$ sudo evtest
[sudo] password for admin: 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Power Button
/dev/input/event1:  Lid Switch
/dev/input/event2:  Power Button
/dev/input/event3:  AT Translated Set 2 keyboard
/dev/input/event4:  Compx 2.4G Receiver
/dev/input/event5:  Compx 2.4G Receiver
/dev/input/event6:  Compx 2.4G Receiver System Control
/dev/input/event7:  Compx 2.4G Receiver Consumer Control
/dev/input/event8:  Toshiba input device
/dev/input/event9:  PC Speaker
/dev/input/event10: Video Bus
/dev/input/event11: Video Bus
/dev/input/event12: ETPS/2 Elantech Touchpad
/dev/input/event13: HDA Intel PCH Mic
/dev/input/event14: HDA Intel PCH Headphone
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event16: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event17: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event18: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event19: HDA Intel PCH HDMI/DP,pcm=10
Select the device event number [0-19]: 

D'après la sortie ci-dessus, l'événement 3 est le clavier intégré de mon ordinateur portable Toshiba qui est endommagé. l'événement 4 est mon clavier sans fil. Je vais configurer ce clavier sans fil uniquement pour permuter les touches Win et Control à gauche.

à partir de l'invite de sortie ci-dessus, choisissez 4 car il s'agit de mon clavier sans fil, puis appuyez sur les deux touches, Contrôle gauche et Fenêtre gauche Elles sont identifiées comme suit (certaines des sorties seulement)

Event: time 1604846371.179388, -------------- SYN_REPORT ------------
Event: time 1604846371.269377, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1604846371.269377, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1604846371.269377, -------------- SYN_REPORT ------------
Event: time 1604846375.626511, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1604846375.626511, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 1
Event: time 1604846375.626511, -------------- SYN_REPORT ------------

Notez les valeurs et les noms de clés comme suit

valeur 700e0 , Keyname LEFTCTRL
valeur 700e3 , Keyname LEFTMETA

Pour l'échange, nous avons donc besoin de 700e0 comme leftmeta ( note, les lettres minuscules sont nécessaires contre les lettres majuscules dans la sortie ci-dessus) et
700e3 comme leftctrl

Maintenant, ouvrez le fichier avec la commande ci-dessous, remplacez eventX par le numéro d'événement de votre clavier.

sudo -H gedit /sys/class/input/event4/device/modalias

Exemple de contenu pour mon cas d'utilisation,

input:b0003v1D57pFA20e0100-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw

Notez le texte ci-dessus du fichier modalias.

Maintenant, créez le fichier de configuration hwdb et ouvrez-le avec la commande ci-dessous

sudo -H gedit /etc/udev/hwdb.d/10-my-modifiers.hwdb

ce fichier devrait avoir le contenu suivant, basé sur l'entraînement ci-dessus

evdev:input:b0003v1D57pFA20e0100-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw
 KEYBOARD_KEY_700e3=leftctrl
 KEYBOARD_KEY_700e0=leftmeta

Enregistrez le fichier et fermez.

Nous avons configuré le fichier. Mettez à jour le hwdb avec la commande ci-dessous.

sudo systemd-hwdb update

Si aucune erreur n'est affichée, tout est prêt. Sinon, nous devons chercher evdev pour être configuré correctement.

pour appliquer les changements immédiatement, exécutez la commande ci-dessous.

sudo udevadm trigger

Testé avec deux claviers sans fil avec des configurations différentes . Les deux ont prouvé leur individualité.

Référence majeure : https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes
Un semblable : Comment remapper la touche 'Caps_Lock' à 'w' dans Wayland ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X