Добре, знайшли це на https://help.ubuntu.com/community/MultimediaKeys
Коли ви натискаєте клавішу на клавіатурі, ядро Linux генерує для нього неочищений код сканування (якщо він призначений). Кожен сканувальний код може бути відображений у ключовий код. Це на рівні ядра. X має (квазі) повний незалежний спосіб відображення ключів: X при запуску зчитує таблицю кодів ключів ядра, потім відображає код клавіші на свою незалежну таблицю кодів ключів (це те саме, що і ключові коди ядра, але різні :)). Тоді кожен код клавіш може бути відображений у ключовій формі, тобто рядку, який представляє ключ або пропонує дію. Таким чином, щоб наші ключі були повністю функціональними, їм потрібен код сканування / код коду ядра плюс код X / keyym X. Це може здатися дивним, але розробники X мають свої причини зберігати окреме відображення клавіатури від ядра. Це зовсім не складно, просто досить втомлива процедура.
Отже, ключові коди відображаються у ключових, тож де ключові? Я знайшов і відповів на це питання: Де я можу знайти список усіх ключових символів X за ці дні? Оскільки ми говоримо про клавіші гучності, це було б знайдено у XF86keysym.h
вихідному коді, зазначеному у відповіді.
У цьому файлі на моєму комп’ютері я знайшов таке за обсягом:
#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
Дивні ... різні значення від будь-якого іншого, можливо, існує кілька систем для роботи з ключами? http://crunchbang.org/forums/viewtopic.php?id=16656
Я використовую Xubuntu, і для управління клавішами мені потрібно вручну відображати дії (наприклад, як змінити комбінації клавіш на xubuntu? ). Однак сповіщення здається незалежним, ніби вони збираються під час натискання клавіші і діють відповідно. Це може означати, що інші програми в Ubuntu налаштовані таким чином, тому немає необхідності зіставляти скрипти до клавіш.
Тож я цілком впевнений, що програми зараз підбираються на ключ (тому сценаріїв не знайти).
У Xubuntu у мене була ця проблема з Pulse Audio та використанням користувацьких сценаріїв для зміни гучності. Здавалося, Pulse перехоплює клавішу Mute, клавіша Mute відключає Alsa та PulseAudio, але відключає лише Alsa, створені для цікавих способів вирішення.
Перевірте це про NotifyOSD https://wiki.ubuntu.com/NotifyOSD#Volume_changes
Якщо ви шукаєте ці діаграми: https://wiki.ubuntu.com/NotifyOSD#Architecture
Особливо цей:
З нього видно, що існує "апаратний слухач ключів", який отримує форму DBus або HAL? Потім "витягує візуальний елемент із системи", який значки звуку та яскравості є у джерелі Notify-OSD, а потім робить звідти бульбашку.
Це все шалено заплутано, але наскільки я це розумію (поки що):
неочищений код сканування (наприклад, e016)> клавішний код (приклад 160)> keyym (напр. XF86AudioMute)> gnome-settings-daemon (ex. volume-up)> сигнал DBus> апаратний ключ-слухач для notify-osd (або інше) прослуховування програми)