J'ai un Lenovo Yoga 710 où la touche "Up" est à l'endroit où la touche Maj doit être. Malheureusement, cet ordinateur portable ne fonctionnera pas avec les noyaux antérieurs, car il possède un "nouveau" matériel. Je vois le mécanisme pour remapper les clés dans Wayland (GNOME) ici: https://superuser.com/questions/1196241/how-to-remap-caps-lock-on-wayland
Mais, je ne trouve nulle part le code xkb-options pour "Up". "Décalage à droite" pourrait être "rshift" selon/usr/share/X11/xkb/rules/base. Où se trouve la liste des noms de touches xkb-options et/ou quels sont les noms de la touche "shift droit" et de la touche "Up"?
À l’heure actuelle, la personnalisation des clés est un peu délicate lorsqu’on utilise Wayland: https://unix.stackexchange.com/questions/292868/how-to-customise-keyboard-mappings-with-wayland
Mais si vous souhaitez simplement remapper une clé pour qu'elle fonctionne comme une autre clé, la commande setkeycodes
semble fonctionner.
Exécutez sleep 1; showkey -s
dans le terminal en tant que root, puis appuyez une fois sur la touche Haut, puis attendez 10 secondes.
root@laptop:~# sleep 1; showkey -s
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
^[[A0xe0 0x48
0xe0 0xc8
root@laptop:~#
La sortie indique que 0xe0 0x48
est le code de balayage pour la clé p.
Exécutez sleep 1; showkey -k
dans le terminal en tant que root, puis appuyez une fois sur la touche Décalage à droite une fois, puis attendez 10 secondes.
root@laptop:~# sleep 1; showkey -k
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
keycode 54 press
keycode 54 release
root@laptop:~#
La sortie indique que 54 est le code de clé pour la touche Décalage à droite.
Pour remapper la touche p à la touche Décalage à droite, exécutez setkeycodes 0xe048 54
dans le terminal en tant que racine.
root@laptop:~# setkeycodes 0xe048 54
Le code de numérisation était précédemment imprimé sous la forme 0xe0 0x48
, mais maintenant, lorsqu'il a été attribué en tant qu'argument d'entrée à setkeycodes
, il était écrit 0xe048
.
Après environ 2 jours de recherche sur Google d'une réponse à la question "Comment remapper les clés sur Wayland", j'ai réussi à trouver un moyen très, très simple. Je ne sais pas si c'est la bonne façon mais cela fonctionne réellement.
La seule chose à faire est d'ouvrir le fichier.
/usr/share/X11/xkb/keycodes/evdev
Ce fichier répertorie tous les codes clés pour toutes les clés sous la forme <code> = numéro
Vous pouvez simplement échanger les codes clés. Ce que j’ai réellement échangé, c’est les chiffres, PAS le code. J'ai changé la barre oblique inverse qui sur dvorak est à côté de Entrée avec Ctrl pour Emacs.
edit: pour savoir quel "code" représente chaque clé comme dans <code> = nombre que vous pouvez visiter
/usr/share/X11/xkb/symbols/
Il s’agit d’un répertoire contenant un fichier pour chaque langue installée sur l’ordinateur et des touches de modification. Sélectionnez la langue de votre ordinateur.
Dans ce fichier, toutes les variantes prises en charge seront répertoriées, telles que dvorak, programmeurs dvorak, colemans, etc.
Là vous pouvez voir les noms <code>