Permuter 2 touches

Bonjour,

Je souhaiterai permuter les touches HOME et PRIOR (page up) sur Debian 11.

J’ai créé une fichier ~/.Xmodmap, mais il n’est pas pris en compte, je dois le lancer à la main

xmodmap .Xmodmap

Contenu :

keycode 112 = Home
keycode 117 = End
keycode 115 = Next
keycode 110 = Prior

Ca marche sur ce forum (via chrome) et dans un jeu. Par contre, ca ne marche pas avec gedit ou vi ou terminal.

avec xev :

KeyRelease event, serial 37, synthetic NO, window 0x2400001,
    root 0x522, subw 0x0, time 886367, (1438,147), root:(1488,261),
    state 0x0, keycode 112 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes: 
   XFilterEvent returns: False

Le keycode 112 correspond bien à Home (à la place de prior) mais je crois qu’il manque quelque chose pour pour que les programmes ne puisse pas accéder au vrai keycode mais à un keycode modifié.

Pour les curieux, j’ai accès à HOME/END avec la la touche Fn et je n’utilise jamais PRIOR et NEXT.

Edit : Il fallait utiliser setkeycodes :

setkeycodes 0xc9 102

0xc9 s’obtient par

sudo showkey -s

puis en actionnant la touche
102 s’obtient par xev puis en actionnant la touche et en enlevant 8 (X11 reçoit le keycode + 8)

Il me reste à trouver un moyen de lancer ca automatiquement au boot mais ca va être plus simple.

Pourquoi as-tu besoin de faire ça ?

J’utilise souvent home et end pour me déplacer dans une ligne de commande ou dans du code/texte. Par contre jamais pgUP et pgDown.

Sur mon nouveau PC j’ai les touches home/end avec la touche Fn appuyée avec pgUP et pgDown. Je trouve ca super chiant. J’ai essayé de m’habituer mais c’est impossible. Surtout pour sélectionner la fin de ligne : shift + Fn + PgDown.

Bonjour

Sur beaucoup de machines, la touche Fn est inaccessible depuis un système d’exploitation,
car elle est gérée par le BIOS de la machine.

Les fonctionnalités de cette touche diffèrent en fonction de la machine et de la version du BIOS utilisée par la machine.


La prise en compte automatique à l’ouverture de session
d’un fichier de configuration par la commande xmodmap
tout comme le lancement à l’ouverture de session d’un script
dépendent de l’Environnement de Bureau utilisé.

De ce que j’ai compris, xmodmap ne marche pas avec tous les programmes dont gedit. Certains programme semblent utiliser le keycode de la touche plutôt son nom (HOME, END…) et xmodmap ne change que le nom.
Du coup j’utilise setkeycodes qui modifie le keycode associé à la touche (au niveau de noyau ?) et le nouveau keycode prend le nom du nouveau keycode. La seul difficulté est de soustraire 8 au keycode cible.