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 ?