Utiliser les touches multimedia du clavier

De La Mouche VII


hotkeys est un démon qui permet de gérer les touches multimedia (touches "spéciales") du clavier. Il est théoriquement compatible avec tous les claviers, puisque l'on peut écrire ses propres définitions.

Note : Gnome sait gérer tout seul les touches multimedia (Menu Système / Préférences / Raccourcis clavier), mais hotkeys a l'avantage de fonctionner quel que soit le gestionnaire de fenêtre.

Etape 1 : installation

Rien de plus simple :

# aptitude install hotkeys

Pour voir la liste des claviers pris en charge par défaut, tapez :

$ hotkeys -l

Si votre clavier figure dans la liste, c'est merveilleux, passez à l'étape 3.

Etape 2 : définition du clavier

Si votre clavier n'apparaît pas dans la liste, vous allez devoir écrire vous même la définition de ses touches spéciales. Ce n'est pas très compliqué.

Si vous voulez que le fichier soit disponible pour tous les utilisateurs, créez-le dans /usr/share/hotkeys/ :

# cp /usr/share/doc/hotkeys/sample.xml /usr/share/hotkeys/mon-clavier.def
# vim /usr/share/hotkeys/mon-clavier.def

Si vous en avez besoin seulement pour un utilisateur, créez-le plutôt dans son répertoire personnel :

$ mkdir ~/.hotkeys
$ cp /usr/share/doc/hotkeys/sample.xml ~/.hotkeys/mon-clavier.def
$ vim ~/.hotkeys/mon-clavier.def

Le fichier de définition est un simple fichier XML, la syntaxe est assez intuitive : en face de chaque libellé (« Play », « Pause », etc.), il faut indiquer le code (« keycode ») correspondant. Vous obtiendrez ce code à l'aide de xev. Une fois lancé :

$ xev

enfoncez la touche dont vous voulez connaître le code, des lignes apparaissent :

KeyRelease event, serial 30, synthetic NO, window 0x1600001,
   root 0x40, subw 0x0, time 8158036, (426,240), root:(627,465),
   state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,
   XLookupString gives 1 bytes: (20) " "

Ici, le code de la touche est 65 (« keycode 65 »).

Une fois définies toutes les touches de votre clavier, il nous reste à configurer le comportement des touches.

Etape 3 : actions associées aux touches

Nous allons donc maintenant associer des actions aux touches et configurer l'affichage des messages (OSD). Si vous voulez définir des paramètres par défaut pour tous les utilisateurs, modifiez le fichier /etc/hotkeys.conf :

# vim /etc/hotkeys.conf

Si vous voulez avoir un comportement différent de celui défini dans /etc/hotkeys.conf pour un utilisateur, créez-lui un fichier ~/.hotkeys/hotkeys.conf :

$ mkdir ~/.hotkeys # (si ce n'est déjà fait)
$ cp /etc/hotkeys.conf ~/.hotkeys
$ vim ~/.hotkeys/hotkeys.conf

Là aussi, la syntaxe est très simple. D'abord, il faut définir le codage clavier par défaut (paramètre « Kbd ») et, si l'une de vos touches s'occupe du lecteur de CD-ROM, le périphérique associé (paramètre « CDROM »). Ensuite, à chaque type de touche (« Play », « Pause », etc.) il faut associer la commande à lancer. Enfin on peut modifier les paramètres de l'OSD : « osd_font » pour changer la police, « osd_color » pour la couleur, « osd_timeout » pour la durée d'affichage, « osd_position » pour l'emplacement d'affichage (en bas ou en haut), et « osd_offset » pour le décalage par rapport au bord.

Si vous voulez que le démon se lance automatiquement à chaque session X, ajoutez une ligne dans votre ~/.xsession' :

hotkeys --no-splash &

Exemples

Je mets à disposition les fichiers de configuration pour les deux types de claviers que j'utilise, des fois que ça servent à quelqu'un :

Documentation

Comme d'habitude, (peut-être un peu) plus d'informations dans :

$ man hotkeys