Налаштування прив’язки скан-кодів в X Window

Отже, скан-коди ми отримали, тепер потрібно вказати Х-серверу, що він повинен робити при натисканні цієї клавіші, тобто присвоїти клавіші символьне імя Список символьних імен наведено у файлі заголовків XF86keysymh За замовчуванням заголовні файли Х-сервера в сучасних дистрибутивах не встановлюються, тому необхідно встановити пакет x11proto-core-dev, після чого файл XF86keysymh зявиться в каталозі / usr / include / ХИ Або, як варіант, можна звернутися до GITсерверу з вихідними кодами на сайті freedesktoporg (http://cgitfreedesktoporg/ xorg/proto/x11proto/tree/XF86keysymh) Дивимося:

$ cat /usr/include/Xll/XF86keysymh

#define XF86XK_Back    0xl008FF26 /* Like back on a browser   */

#define XF86XK_Forward 0xl008FF27 /* Like forward on a browser */

#define XF86XK_Mail    0xl008FF19

І так далі Якщо порівняти останній рядок з виведенням xev, то побачимо, що значення збігаються з клавішею з keycode 236 – keysym 0xl008ff19, XF86Mail (без суфікса ХК_) Список всіх доступних значень в тому вигляді, якому вони повинні використовуватися, ви знайдете у файлі / usr/share/X11/XKeysymDB

Скласти свій варіант розкладки можна кількома способами: створити опис своєї клавіатури або використовувати Xmodmap Останній спосіб найпростіший, тому про нього і будемо говорити далі У домашньому каталозі користувача створюємо файл ~ / Xmodmap або використовуємо загальносистемний / etc / Xll / Xmodmap, в який і заносимо всі потрібні значення

$ gedit     Xmodmap

keycode 161 XF86Calculator

keycode 174 XF86AudioLowerVolume keycode 176 XF86AudioRaiseVolume keycode 162 XF8 6AudioPause

ПРИМІТКА

Код клавіш можна заносити як в десятковому, так і шістнадцятковому вигляді

Як ви розумієте, тепер ми можемо фактично побудувати свою розкладку клавіатури Коди більшості клавіш стандартизовані, тому досить налаштувати реакцію на натиснення клавіші один раз, а в разі переустановлення перенести файл у нову систему

ПРИМІТКА

Хоча використання ~ / Xmodmap та / etc/X11/Xmodmap є майже стандартним, в деяких дистрибутивах Linux можуть бути свої особливості Знайти, звідки запускається потрібна команда, можна, проаналізувавши висновок команди sudo grep-iR xmodmap / etc

Тепер, коли символьні імена клавішах присвоєні, можна призначати їм будь-які бажані дії

У консолі порядок налаштування клавіш дещо відрізняється від графічного режиму Головна особливість – клавішних команд в консолі не може бути більше 128, тобто слід вибирати значення від 0 до 127:

$ Setkeycodes 0хес 118

Подивитися вільні значення можна у файлі поточної розкладки

За умовчанням в Linux Mint завантажується файл / etc / console-setup / cachedkmapgz

ПРИМІТКА

В інших дистрибутивах, що базуються на Debian, це зазвичай / etc / console-setup / boottimekmapgz

Швидше за все, будуть зайняті всі клавіші, але часто не всі з них дійсно задіяні Якщо після запуску проблем з клавішами немає, то заносимо цей рядок в один зі стартових скриптів, наприклад в /etc/initd/rclocal

Тепер залишилося задати відповідність клавіші і виконуваної дії Тут вже простору для творчості навіть більше, ніж в X У man keymaps (5) процедура установки відповідності keycode виглядає так:

{ plain | &ltcmodifier sequence&gt } keycode keynumber = keysym

Іншими словами, можна вказати так:

keycode 105 = Decr_Console

Таким чином, ми реалізували перемикання консолі на одну назад при натисканні клавіші з кодом 105

Тепер задамо перемикання консолі на одну вперед при натисканні Alt і клавіші з кодом 106:

alt keycode 106 = Incr_Console

Але можна створювати і свої варіанти, вказуючи команду в змінних:

keycode 120 = F100

string F100 = &quot/sbin/shutdown -h now\n&quot

Отже, при натисканні клавіші з кодом 120 буде виконано дію, вказане в змінної F100, в нашому випадку задано виключення компютера Замість F100, природно, можна використовувати інше імя

Щоб не прописувати ці параметри безпосередньо у файл / etc / console-setup / cachedkmapgz, краще прописати потрібний рядок в / etc / init / console-setupconf

Джерело: Яремчук С А Linux Mint на 100% – СПб: Питер, 2011 – 240 е: ил – (Серія «На 100%»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*