Table des matières
Activer les touches multimédia de son calvier
Il existe plusieurs méthodes:
- avec le logiciel keytouch
- avec l'utilitaire xbindkeys
- en créant un script à l'aide de xev
Méthode 1: Avec Keytouch
Installer keytouch
# pacman-g2 -S keytouch
Keytouch dispose déjà d'une liste de clavier, avec un peu de chance le vôtre sera dedans et vous pourrez le configurer très facilement.
Si votre clavier n'est pas dans la liste, vous pouvez créer le fichier de configuration pour votre clavier très simplement à l'aide de keytouch-editor qu'il vous faudra installer:
# pacman-g2 -S keytouch-editor
Une fois votre clavier configurer, il vous reste qu'a ajouter le service keytouch et faire en sorte qu'il lançé à chaque démarrage:
# service keytouch start # service keytouch add
Méthode 3: Avec xbindkeys
Installer xbindkeys:
# pacman-g2 -S xbindkeys
Il faut ensuite créer le fichier de configuration:
$ nano ~/.xbindkeyrc
Voici un exemple
# For the benefit of emacs users: -*- shell-script -*-
###########################
# xbindkeys configuration #
###########################
#
# Version: 1.8.2
#
# If you edit this file, do not forget to uncomment any lines
# that you change.
# The pound(#) symbol may be used anywhere for comments.
#
# To specify a key, you can use 'xbindkeys --key' or
# 'xbindkeys --multikey' and put one of the two lines in this file.
#
# The format of a command line is:
# "command to start"
# associated key
#
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
c:41 + m:0x4
# specify a mouse button
"xterm"
control + b:2
#"xterm -geom 50x20+20+20"
# Shift+Mod2+alt + s
#
## set directly keycode (here control+alt+mod2 + f with my keyboard)
#"xterm"
# alt + c:0x29 + m:4 + mod2
#
## Control+Shift+a release event starts rxvt
#"rxvt"
# release+control+shift + a
#
## Control + mouse button 2 release event starts rxvt
#"rxvt"
# Control + b:2 + Release
##################################
# End of xbindkeys configuration #
##################################
Pour trouver les combinaisons de vos touches, utilisez la commande
$ xbindkeys_show
pour que xbindkeys soit lancé au démarrage, utiliser:
xbindkeys &
Méthode 3: Script avec l'aide de xev
Récupérer le code des touches avec xev
Pour comprendre comment cela se passe, il faut savoir qu'en appuyant sur une touche du clavier, on envoie un signal à l'ordinateur, et que ce signal se traduit par un code d'identification.
Pour récupérez ce code, ouvrez un terminal, et lancer le programme xev :
$ xev
Une petite fenêtre s'ouvre, placez-y votre souris. Vous remarquerez que chaque mouvement de souris retourne une certaine série de ligne dans le terminal. Une fois prêt (gardez le terminal et xev en vis-à-vis), cliquez sur votre première touche multimédia. Chez moi, il s'agit de la touche Lecture/Pause
KeyRelease event, serial 31, synthetic NO, window 0x2800001,
root 0x64, subw 0x0, time 1627282074, (-466,618), root:(793,669),
state 0x10, keycode 162 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Dans cet exemple, le code d'identification de la touche est 162 (keycode 162) et on constate qu'elle est associée à la fonction XF86AudioPause (c'est ce que l'on va définir dans l'étape de configuration).
Faites de même pour chacune des touches multimédia de votre clavier en notant les codes à chaque fois.
Configuration
Maintenant que vos différentes touches multimédia sont identifiées, il faut leur assigner une fonction. L'ensembe de ces fonction est répertoriée dans le fichier /usr/share/X11/XKeysymDB. Une fois ces fonctions identifiées, créez un fichier .xmodmaprc dans le répertoire utilisateur.
$ nano .xmodmaprc
Puis complétez ce fichier en associant chacune des touches avec la fonction qui lui correspond, chez moi ça donne :
!Play/Pause
keycode 162 = XF86AudioPause
!Stop
keycode 164 = XF86AudioStop
!Prev
keycode 144 = XF86AudioPrev
!Next
keycode 153 = XF86AudioNext
!Mute
keycode 160 = XF86AudioMute
!Lower Volume
keycode 174 = XF86AudioLowerVolume
!Raise Volume
keycode 176 = XF86AudioRaiseVolume
!Home
keycode 178 = XF86HomePage
!Mail
keycode 236 = XF86Mail
Une fois le fichier enregistré, il faut demander au système de le prendre en compte :
$ xmodmap ~/.xmodmaprc
Enfin, pour que ce soit pris en compte au démarrage de KDE, créez un fichier clavier dans ~/.kde/Autostart :
nano ~/.kde/Autostart/clavier
Il faut y ajouter ces 2 lignes :
#!/bin/sh xmodmap ~/.xmodmaprc
Puis rendez ce fichier exécutable :
chmod +x ~/.kde/Autostart/clavier
Et voilà, il ne vous reste plus qu'à configurer vos raccourcis clavier avec ces nouvelles touches !