Це моя третя відповідь, коли я можу порекомендувати actkbd
... :)
Тож якщо ви хочете налаштувати всі клавіші другої клавіатури для виконання команд, щоб не вводити літери, ви можете використовувати actkbd
... :)
Після встановлення actkbd
нам потрібно знайти, який файл пристрою використовується для отримання подій з клавіатури:
pbm@tauri ~ $ cat /proc/bus/input/devices
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]
У цьому списку ви повинні знайти свою клавіатуру та перевірити її обробниками. Використовуйте, sudo actkbd -s -d /dev/input/HANDLER_NAME
щоб перевірити, чи передає цей обробник події. Якщо ви запускаєте цю команду і натискаєте клавішу на клавіатурі (перевірте наявність клавіш, які ви хочете прив’язати до команд), ви повинні отримати щось подібне:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5
Keys: 57
Keys: 35
Якщо у вас є коди ключів, ми можемо створити actkbd
конфігураційний файл:
pbm@tauri ~ $ sudo nano /etc/actkbd.conf
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a
Коли ви зберігаєте цей файл, ми повинні перевірити, чи працює конфігурація:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D
При натисканні клавіші, яка є у вашому конфігураційному файлі, буде запущена команда з останнього стовпця файла конфігурації.
Я думаю, що є спосіб відключити надсилання ключів до програм, але мені не вдалося його знайти - перевірити файл README .
Замість того, щоб намагатися відключити його, actkbd
ви можете вимкнути клавіатуру в X.
pbm@tauri ~ $ xinput list
[cut]
↳ Logitech USB Keyboard id=12 [slave keyboard (3)]
↳ Logitech USB Keyboard id=11 [slave keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0
Це має зробити роботу ... :) Для отримання додаткової інформації про actkbd
перевірку цієї відповіді .
Використовуючи actkbd
(і, мабуть, кілька сценаріїв), ви також можете налаштувати клавіатуру для зміни режимів з командного режиму в режим введення з російськими літерами. Для цього прочитайте Ulrich Schwarz's
відповідь.