В Linux переназначение клавиш со второй клавиатуры на символы юникода и ярлыки

2175
cat pants

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

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

1

1 ответ на вопрос

1
Nykakin

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

$ 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ярлыка.

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

30:::gedit 

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

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