Bonjour,
j'ai trouvé sur ubuntu-fr (argh...mais bon, leur wiki est une mine d'info) un
tuto assez simple pour redonner leurs fonctions aux touches Fn+X.
En résumé, il faut faire la manip suivante : je procède avec deux terminaux virtuels sous X.
Terminal 1 :
Code : Tout sélectionner
$ xmodmap -pke > /home/toto/xmodmap.conf
$ cat /usr/share/X11/XKeysymDB | grep XF86
Notez dans un coin les noms des XF86* qui vous intéressent (il y a pleins d'actions, du réglage du volume sonore au contraste de l'écran) ou garder la liste sous la main (ce que je fais).
La première commande enregistre dans le fichier xmodmap.conf la signification des touches du clavier, laquelle dépend de votre layout et de sa variante définis dans le xorg.conf : assurez-vous de bien travailler avec la variante qui vous intéresse : les manipulations ci-dessous prenant le pas sur le xorg.conf !
Dans le second terminal, lancer xev (attention, une petite fenêtre s'ouvre, elle doit être active pour que s'affiche dans le terminal le résultat des actions du clavier ou de la souris) :
Voici ce qui s'affiche quand je presse puis relâche la touche "flèche bas" :
Code : Tout sélectionner
KeyPress event, serial 31, synthetic NO, window 0x1e00001,
root 0x87, subw 0x0, time 12858900, (610,-381), root:(612,67),
state 0x0, keycode 104 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x1e00001,
root 0x87, subw 0x0, time 12858994, (610,-381), root:(612,67),
state 0x0, keycode 104 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Ce qui nous intéresse, c'est cette partie :
Cela nous dit que la touche en question a le keycode 104 et que ce code est associé à une action particulière "Down".
Quand une touche ou une combinaison n'a pas d'action attribuée, on a la sortie suivante :
Code : Tout sélectionner
KeyRelease event, serial 35, synthetic NO, window 0x1e00001,
root 0x87, subw 0x0, time 13186503, (708,-91), root:(710,357),
state 0x0, keycode 223 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
On voit clairement le
(keysym 0x0, NoSymbol) qui signifie que cet évènement de
keycode 223 n'entraîne aucune action. C'est que nous allons changer.
Avec xev, notez le keycode de chaque touche ou combinaison de touches que vous souhaitez bricoler. Éditez le fichier /home/toto/xmodmap.conf, et attribuez aux keycodes que vous avez trouvés une des actions XF86* listées précédemment :
Code : Tout sélectionner
...
keycode 173 =
keycode 174 = XF86AudioLowerVolume
keycode 175 =
keycode 176 = XF86AudioRaiseVolume
keycode 177 =
...
Une fois cette édition terminée :
Code : Tout sélectionner
# mv /home/toto/xmodmap.conf /etc/xmodmap.conf
# exit
$ xmodmap /etc/modmap.conf
Et vous pouvez tester le résultat !
Reste à rendre tout cela permanent : en fonction de votre environnement de bureau, configurez son démarrage pour qu'il exécute à chaque fois la commande
xmodmap /etc/xmodmap.conf.
Je rappelle que cette commande prend le pas sur la configuration du clavier dans xorg.conf, donc si par hasard vous souhaitiez changer cette configuration, éditez xorg.conf comme vous le souhaitez,
redémarrez X puis exécutez les commandes :
Code : Tout sélectionner
xmodmap -pke > /home/toto/xmodmap.conf
# mv /home/toto/xmodmap.conf /etc/xmodmap.conf
Toutes vos optimisations resteront prises en compte, ainsi que le nouveau layout du clavier.
[Edit du 23/07/08] : ajout des précautions à prendre avec la configuration du clavier dans xorg.conf.