У меня есть Lenovo Yoga 710, где клавиша «Вверх» находится там, где должна быть клавиша shift. К сожалению, этот ноутбук не будет запускать ранние ядра, потому что у него есть «новое» оборудование. Я вижу механизм переназначения ключей в Wayland (GNOME) здесь: https://superuser.com/questions/1196241/how-to-remap-caps-lock-on-wayland
Но я могу Не находите код xkb-options для «Up» в любом месте. «Правая смена» может быть «rshift» в соответствии с / usr / share / X11 / xkb / rules / base. Где список имен ключей xkb-options и / или имена имен «правой клавиши переключения» и клавиши «Вверх»?
сейчас настройка клавиш немного сложнее при использовании Вэйланд: https://unix.stackexchange.com/questions/292868/how-to-customise-keyboard-mappings-with-wayland
но если вы просто хотите переназначить клавиши так, что она должна функционировать в качестве еще одной ключевой команда setkeycodes, кажется, работает.
Запустите sleep 1; showkey -s в терминале как root, а затем нажмите клавишу вверх один раз, а затем подождите 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 в терминале как root, а затем нажмите клавишу правый Shift один раз, а затем подождите 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.
переназначить клавишу вверх правую клавишу Shift, выполните setkeycodes 0xe048 54 в терминале как root.
root@laptop:~# setkeycodes 0xe048 54
скан-код был ранее напечатан как на [F9], но теперь, когда он был дан в качестве входного аргумента для setkeycodes, это было написано на [F11].
Примерно через 2 дня ответа Google на вопрос «как переделать ключи на wayland» мне удалось найти очень простой способ. Я не знаю, правильно ли он работает, но он действительно работает.
Единственное, что мне нужно было сделать, это открыть файл
/usr/share/X11/xkb/keycodes/evdev
. В этом файле перечислены все коды ключей для всех ключи в форме & lt; code> = number
Вы можете просто поменять коды клавиш. То, что я на самом деле обменивал, это числа, а не код. Я изменил обратную косую черту, которая на dvorak находится рядом с Enter с Ctrl для Emacs.
edit: чтобы узнать, какой «код» представляет каждый ключ, как в & lt; code> = номер, который вы можете посетить
/usr/share/X11/xkb/symbols/
Это каталог, который имеет один файл для каждого языка, установленного на компьютере, и ключи-модификаторы. Выберите язык, на котором работает ваш компьютер.
В этом файле будут перечислены все варианты, такие как dvorak, программисты dvorak, colemans и т. Д. И т. Д.
Там вы можете увидеть & lt; ; code> names
сейчас настройка клавиш немного сложнее при использовании Вэйланд: https://unix.stackexchange.com/questions/292868/how-to-customise-keyboard-mappings-with-wayland
но если вы просто хотите переназначить клавиши так, что она должна функционировать в качестве еще одной ключевой команда setkeycodes, кажется, работает.
Запустите sleep 1; showkey -s в терминале как root, а затем нажмите клавишу вверх один раз, а затем подождите 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 в терминале как root, а затем нажмите клавишу правый Shift один раз, а затем подождите 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.
переназначить клавишу вверх правую клавишу Shift, выполните setkeycodes 0xe048 54 в терминале как root.
root@laptop:~# setkeycodes 0xe048 54
скан-код был ранее напечатан как на [F9], но теперь, когда он был дан в качестве входного аргумента для setkeycodes, это было написано на [F11].
Примерно через 2 дня ответа Google на вопрос «как переделать ключи на wayland» мне удалось найти очень простой способ. Я не знаю, правильно ли он работает, но он действительно работает.
Единственное, что мне нужно было сделать, это открыть файл
/usr/share/X11/xkb/keycodes/evdev
. В этом файле перечислены все коды ключей для всех ключи в форме & lt; code> = number
Вы можете просто поменять коды клавиш. То, что я на самом деле обменивал, это числа, а не код. Я изменил обратную косую черту, которая на dvorak находится рядом с Enter с Ctrl для Emacs.
edit: чтобы узнать, какой «код» представляет каждый ключ, как в & lt; code> = номер, который вы можете посетить
/usr/share/X11/xkb/symbols/
Это каталог, который имеет один файл для каждого языка, установленного на компьютере, и ключи-модификаторы. Выберите язык, на котором работает ваш компьютер.
В этом файле будут перечислены все варианты, такие как dvorak, программисты dvorak, colemans и т. Д. И т. Д.
Там вы можете увидеть & lt; ; code> names