1

Я хотел бы получить вторую клавиатуру для часто используемых символов Юникода и сочетаний клавиш. То есть я хотел бы связать клавишу "а" на моей второй клавиатуре с открытием Firefox, например. Другой пример - привязка клавиши "b" к вставке символа ✓, поэтому мне не нужно каждый раз набирать ctrl+shift+u, 2713.

ОС - это Ubuntu, wm - это fluxbox. Спасибо!

1 ответ1

1

Сначала найдите обработчик событий вашей второй клавиатуры. Бежать

$ cat /proc/bus/input/devices

Найдите ваше второе устройство клавиатуры в выводе и запишите номер обработчика событий. Например:

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 
B: PROP=0
B: EV=120013
B: KEY=6007 2900000 83802078 f040d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

«H: Handlers = sysrq kbd event2» говорит нам, что устройством, которое мы хотим отслеживать, является /dev /input /event2. Теперь нам нужно захватить нажатые клавиши. Полезным инструментом является actkbd - http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/ После загрузки и установки вы можете получить коды клавиатуры с помощью:

$ sudo actkbd -s -d /dev/input/event2

Передайте устройство события, которое вы получили перед опцией -d . Нажмите клавиши, которые вы хотите использовать, запишите их номера и выключите actkbd с помощью сочетания клавиш Crtl+C.

Чтобы привязать команды к шортурам, поместите в файл конфигурации /etc/actkbd.conf строки в следующем формате: key-numbers:::command и снова запустите демон actkbd , как и раньше. Например , чтобы запустить gedit после нажатия клавиши поставить эту строку:

30:::gedit

Вставка символов Unicode более сложна. Я не знаю, есть ли способ вставить их напрямую, но я могу предложить простой обходной путь. Вы можете использовать xclip или xsel чтобы поместить любую строку в буфер обмена, а затем вставить ее в любое приложение с помощью средней кнопки мыши. Пример строки конфигурации с использованием кнопки q :

16:::echo -n '✓' | xsel

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .