Можно ли изменить коды клавиш на клавиатуре?

Можно ли изменить коды клавиш на клавиатуре?

У меня ноутбук Lenovo с нестандартной раскладкой клавиатуры, в которой рядом с правым Shift есть клавиша слеш/вопрос (/?), которая по умолчанию в br-abnt2 сопоставлена ​​с апострофом/кавычками ('"). Также есть стандартная клавиша апостроф/кавычки рядом с 1. Вчера я изменил свой файл br-abnt.map и файлы макета xorg, чтобы исправить клавишу /?. Потом я понял, что '" теперь сопоставлена ​​с /?.

Сегодня я проверил эти две клавиши, xevи у них одинаковый код клавиши, поэтому я не могу исправить одну, не испортив другую.

Можно ли изменить коды клавиш на этих клавишах, чтобы их можно было настраивать отдельно? Как это исправить?

EDIT: вот evtestвывод для нажатия сначала '", а затем /?:

Properties: Testing ... (interrupt to exit) Event: time 1525650895.009067, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c Event: time 1525650895.009067, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0 Event: time 1525650895.009067, -------------- SYN_REPORT ------------ Event: time 1525650897.410587, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650897.410587, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 1 Event: time 1525650897.410587, -------------- SYN_REPORT ------------ 'Event: time 1525650897.466550, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650897.466550, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 0 Event: time 1525650897.466550, -------------- SYN_REPORT ------------ Event: time 1525650908.301683, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650908.301683, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 1 Event: time 1525650908.301683, -------------- SYN_REPORT ------------ 'Event: time 1525650908.411541, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650908.411541, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 0 Event: time 1525650908.411541, -------------- SYN_REPORT ------------

(первый SYN_REPORT появляется до того, как я ввожу что-либо)

решение1

Используйте evtest, чтобы узнать, как их видит ядро. Если у них разные сканкоды, уровень ввода ядра может сопоставить их с разными кодами клавиш, например, используяudev hwdb.

Связанный контент