Підручники/Клавіатура
Дії у відповідь на натискання клавіш — це всі дії, які система виконує у відповідь на натискання клавіші. Більшість з них вже налаштовано. Тут ми обговоримо створення власних налаштувань. Можливими корисними діями є «збільшити гучність» та «зменшити гучність», а також «вимкнути звук», доступ до яких можна буде отримувати за допомогою відповідних клавіш мультимедійних клавіатур.
Базова інформація
Натискання клавіші призводить до надсилання електронного сигналу через порт USB або PS/2 до комп’ютера. Там сигнал отримує ядро операційної системи і переспрямовує його до графічного сервера (X Window). Підсистема графічного сервера отримує «коди сканування» клавіш, які було натиснуто, і встановлює їхню відповідність подіями, наприклад, XF86audiomute. Щоб змінити прив’язку клавіш до подій слід скористатися програмою xmodmap. Переглянути сканкоди, які є наслідком натискання клавіш можна за допомогою програми xev. Якщо коротко, коли ви натискаєте клавішу «Вимкнути звук» на клавіатурі, ядро системи отримує сигнал з клавіатури і надсилає код клавіші, наприклад, 121, підсистемі графічного сервера. За допомогою xmodmap графічний сервер надсилає сигнал XF86AudioMute, який може бути отримано та оброблено, наприклад, KDE.
Приклад: клавіша вимикання звуку
Якщо після натискання клавіші вимикання звуку звук у вашій системі не вимикається, вам слід спочатку переконатися, чи справді натискання клавіші призводить до створення належного повідомлення про подію графічного сервера. Щоб зробити це, відкрийте вікно консолі і віддайте команду
xev
Наведіть вказівник миші на вікно, яке буде відкрито. Натисніть клавішу і подивіться у консоль. У консолі має з’явитися повідомлення, подібне до наведеного нижче:
KeyRelease event, serial 35, synthetic NO, window 0x4000001, root 0x15a, subw 0x4000002, time 63106815, (43,37), root:(1279,877), state 0x10, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Це означає, що натиснута вами клавіша надсилає сигнал про подію XF86AudioMute. Добре, тепер відкриємо вікно Системних параметрів.
Choose
. Then click the button and press on the key that you want to use to mute your audio.