# Permuter 2 touches

**URL:** <https://www.debian-fr.org/t/permuter-2-touches/86001>\
**Category:** Support Debian\
**Created:** [Janvier 16, 2022, 1:13 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001 "2022-01-16T13:13:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mazarini](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@mazarini](https://www.debian-fr.org/u/mazarini)\
**Post date:** [Janvier 16, 2022, 1:13 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001/1 "2022-01-16T13:13:01Z")

</div>

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

```nohighlight
xmodmap .Xmodmap

```

Contenu :

```nohighlight
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` :

```nohighlight
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 :

```nohighlight
setkeycodes 0xc9 102

```

`0xc9` s’obtient par

```nohighlight
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.

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Janvier 16, 2022, 4:51 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001/2 "2022-01-16T16:51:49Z")

</div>

Pourquoi as-tu besoin de faire ça ?

---

<div class="post-metadata">

**Author:** ![mazarini](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@mazarini](https://www.debian-fr.org/u/mazarini)\
**Post date:** [Janvier 16, 2022, 5:17 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001/3 "2022-01-16T17:17:45Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Janvier 16, 2022, 5:30 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001/4 "2022-01-16T17:30:46Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mazarini](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/6f9a4e/32.png) [@mazarini](https://www.debian-fr.org/u/mazarini)\
**Post date:** [Janvier 16, 2022, 8:53 UTC](https://www.debian-fr.org/t/permuter-2-touches/86001/5 "2022-01-16T20:53:08Z")

</div>

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.
