Ok, trouvé ceci sur https://help.ubuntu.com/community/MultimediaKeys
Lorsque vous appuyez sur une touche de votre clavier, le noyau Linux génère un scancode brut pour lui (s'il est attribué). Chaque scancode peut être mappé sur un code clé. C'est au niveau du noyau. X a une façon (quasi) totale indépendante de mapper les clés: X lit la table des codes de clés du noyau au démarrage, puis mappe le code de clés sur sa table de codes de clés indépendante (c'est la même chose que les codes de clés du noyau mais différent :)). Ensuite, chaque code de clé peut être mappé sur un symbole de clé, c'est-à-dire une chaîne qui représente une clé ou suggère une action. Ainsi, pour que nos clés soient pleinement fonctionnelles, elles ont besoin d'un scancode / keycode du noyau plus un X keycode / keysym. Cela peut sembler étrange, mais les développeurs X ont leur raison de garder un mappage de clavier distinct du noyau. Ce n'est pas difficile du tout, juste une procédure assez fastidieuse.
Donc, les codes-clés sont mappés à ceux de keysym, alors où sont les keysym? J'ai trouvé et répondu à cette question: Où puis-je trouver une liste de tous les X keysymes de nos jours? Puisque nous parlons des touches de volume, elles se trouveraient XF86keysym.h
dans le code source mentionné dans la réponse.
Dans ce fichier sur mon ordinateur, j'ai trouvé ce qui suit pour le volume:
#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
Étrange ... valeurs différentes de toute autre chose, peut-être qu'il existe plusieurs systèmes pour gérer les clés? http://crunchbang.org/forums/viewtopic.php?id=16656
J'utilise Xubuntu, et pour contrôler les touches, je dois mapper les actions manuellement (comme ceci Comment changer mes raccourcis clavier dans xubuntu? ). Cependant, les notifications semblent indépendantes comme si elles prenaient appui sur la touche et agissaient en conséquence. Cela peut signifier que d'autres programmes dans Ubuntu sont configurés de cette façon, il n'est donc pas nécessaire de mapper les scripts aux touches.
Je suis donc tout à fait sûr que les programmes récupèrent maintenant la clé (donc pas de scripts à trouver).
Dans Xubuntu, j'ai eu ce problème avec Pulse Audio et en utilisant des scripts personnalisés pour changer le volume, il semblait que Pulse interceptait la touche Muet, la touche Muet coupe Alsa et PulseAudio, mais seulement Muhammad Alsa a fait des contournements intéressants.
Découvrez ceci sur NotifyOSD https://wiki.ubuntu.com/NotifyOSD#Volume_changes
Si vous regardez un de ces diagrammes: https://wiki.ubuntu.com/NotifyOSD#Architecture
Surtout celui-ci:
Cela montre qu'il existe un "écouteur de clés matérielles" qui reçoit le formulaire DBus ou HAL? Il "récupère ensuite l'élément visuel du système" dont les icônes de son et de luminosité sont dans la source de Notify-OSD, puis fait la bulle à partir de là.
Tout cela est complètement déroutant, mais pour autant que je le comprenne (jusqu'à présent):
scancode brut (ex. e016)> keycode (ex. 160)> keysym (ex. XF86AudioMute)> gnome-settings-daemon (ex. volume-up)> DBus signal> hardware-keys-listener for notify-osd (ou autre écoute de programme)