Чтобы настроить Microsoft эргономичную клавиатуру 4000, мы должны создать файл конфигурации, который содержит объявление клавиатуры и записи для сопоставления клавиш.
Для этого нужно определить три типа информации:
- Тип клавиатуры
- Ключ,
scancode
который является фактическим ключом на клавиатуре
- Клавиша
name
для назначения желаемой функциональности выбранной клавише
Сначала найдите тип клавиатуры:
В терминале выполните следующую команду:
lsusb
Выход определяет тип клавиатуры:
...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...
Появляется после ID
. В этом случае это045e:00db
Во-вторых, найдите скан-код и название ключа.
Для их определения мы используем evtest
программу, которая регистрирует информацию о событиях определенного устройства на терминале:
evtest
Если у вас нет программы, установите ее, выполнив следующую команду:
sudo apt-get install evtest
Запустив evtest
программу, мы получим следующий вывод:
No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PixArt USB Optical Mouse
/dev/input/event3: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5: HDA Intel Front Headphone
/dev/input/event6: HDA Intel Line Out
/dev/input/event7: HDA Intel Line
/dev/input/event8: HDA Intel Rear Mic
/dev/input/event9: HDA Intel Front Mic
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:
Вывод в значительной степени говорит само за себя, введите соответствующий номер клавиатуры, который здесь равен номеру, а 3
затем нажмите Enter:
Это выведет много информации на терминал и оканчивается следующими строками:
...
Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------
Теперь при каждом нажатии клавиши на клавиатуре она выводит информацию о клавишах. Например, клавиша «Слэш» рядом с правым сдвигом показывает:
Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------
Первая строка журнала содержит информацию о фактической клавише на клавиатуре, например, scancode
которая идет после значения. В этом случае это 70038
Вторая строка содержит информацию о назначенной функциональности, например, имя ключа. В данном случае это слэш . Изучите другие ключи, чтобы найти их соответствующие имена.
Итак, в двух словах:
- Наш тип клавиатуры: 045e: 00db
- Скан-код ключа косой черты : 70038
- Название ключа для назначения - SLASH
После сбора необходимой информации мы создаем файл конфигурации:
sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
Нажмите, i
чтобы активировать режим вставки и введите следующее:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_70038=minus
Сохраните и выйдите, нажав escape
затем набрав :wq
и нажав Enter.
Затем выполните следующие две команды, чтобы конфигурация вступила в силу:
sudo udevadm hwdb --update
sudo udevadm control --reload
Наконец, отсоедините клавиатуру и снова подключите ее.
Некоторые заметки о файле конфигурации:
- Формат файла должен быть точно таким, как показано, пространство перед отображением записей имеет решающее значение.
- Вместо того,
sudoedit
чтобы использовать любой другой текстовый редактор, просто не забудьте следовать точному формату файла, как описано выше.
- К типу клавиатуры добавлены два символа:
v
и p
обозначают поставщика и продукт. Они также важны.
- Тип клавиатуры пишется прописными буквами в файле конфигурации. Наш тип клавиатуры был 045e: 00db, но в конфигурации мы вставляем v045Ep00DB *
- Скан-код ключа приходит сразу после
KEYBOARD_KEY_
- Имя ключа отображается в нижнем регистре в файле конфигурации
- Вы можете настроить практически все клавиши на клавиатуре, следуя этому руководству.