web-dev-qa-db-fra.com

Comment remapper la clé dans Ubuntu 17.10 Wayland? (Touche haut pour déplacer)

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"?

1
Aaron Skomra

À 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.

2
Erik Sjölund

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>

1
Paulkalo