У меня есть Lenovo Yoga 710, где ключ находится в месте, где клавиша Shift должна быть. К сожалению, этот ноутбук не выполнит более ранние ядра, потому что он имеет "новые" аппаратные средства. Я вижу механизм для переотображения ключей в Уэйленде (GNOME) здесь: https://superuser.com/questions/1196241/how-to-remap-caps-lock-on-wayland
Но, я не могу найти код xkb-опций для нигде. "Сдвиг вправо" мог бы быть "rshift" согласно/usr/share/X11/xkb/rules/base. Где список имен ключа xkb-опций и/или каковы названия 'ключа сдвига вправо' и ключ?
Прямо сейчас настройка ключей немного хитра при использовании Уэйленда: https://unix.stackexchange.com/questions/292868/how-to-customise-keyboard-mappings-with-wayland
Но если Вы просто хотите повторно отобразить ключ так, чтобы он функционировал как другой ключ, команду setkeycodes
кажется, работает.
Выполненный sleep 1; showkey -s
в терминале как корень, и затем нажимают клавишу однажды и затем ожидают 10 секунд
root@laptop:~# sleep 1; showkey -s
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
^[[A0xe0 0x48
0xe0 0xc8
root@laptop:~#
От вывода мы видим это 0xe0 0x48
скэн-код для ключа.
Выполненный sleep 1; showkey -k
в терминале как корень, и затем нажимают ключевой Сдвиг вправо однажды и затем ожидают 10 секунд
root@laptop:~# sleep 1; showkey -k
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
keycode 54 press
keycode 54 release
root@laptop:~#
От вывода мы видим, что 54 код клавиши для ключевого Сдвига вправо.
Для переотображения ключ к правильной клавише Shift работать setkeycodes 0xe048 54
в терминале как корень.
root@laptop:~# setkeycodes 0xe048 54
Скэн-код был ранее распечатан как 0xe0 0x48
, но теперь когда это было дано как входной параметр к setkeycodes
, это было записано 0xe048
.
Приблизительно после 2 дней поиска с помощью Google ответа на вопрос "то, как повторно отобразиться, включает Уэйленд", мне удалось найти очень, очень простой путь. Я не знаю, является ли это правильный путь, но это на самом деле работает.
Единственная вещь, которую я должен был сделать, открыть файл
/usr/share/X11/xkb/keycodes/evdev
То, что списки файлов все коды клавиши для всех ключей в форме <код> = число
Можно просто подкачать коды клавиши вокруг. То, что я на самом деле подкачал вокруг, является числами НЕ код. Я изменил обратную косую черту, которая на Двораке является рядом с, Входят с Ctrl для Emacs.
править: узнать, какой "код" представляет каждый ключ как в <коде> = число, которое можно выполнить xev
команда от терминала для получения кода клавиши в терминале после нажатия кнопки (ищут тот код клавиши в evdev файле для получения evdev scancode для ключа), или можно посетить
/usr/share/X11/xkb/symbols/
Это - каталог, который имеет один файл для каждого языка, установленного на компьютере и модифицирующих клавишах. Выберите язык, на котором работает Ваш ПК.
В том файле будут все варианты, поддерживаемые перечисленный, такие как dvorak, программисты dvorak, colemans и т.д. и т.д.
Там Вы видите <код> имена