Как переназначить ключ в Ubuntu 17.10 Wayland? (Клавиша Up для Shift)

У меня есть 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 и / или имена имен «правой клавиши переключения» и клавиши «Вверх»?

0
задан 29 June 2017 в 20:59

4 ответа

сейчас настройка клавиш немного сложнее при использовании Вэйланд: 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].

0
ответ дан 18 July 2018 в 11:00

Примерно через 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

0
ответ дан 18 July 2018 в 11:00

сейчас настройка клавиш немного сложнее при использовании Вэйланд: 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].

0
ответ дан 24 July 2018 в 19:42
  • 1
    это постоянная перезагрузка? есть ли процесс возврата к нормальному состоянию? – Ace 2 March 2018 в 16:23
  • 2
    Перезагрузка вернет исходное сопоставление ключей. Обычно я запускаю команду setkeycodes после каждой перезагрузки. – Erik Sjölund 2 March 2018 в 20:24

Примерно через 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

0
ответ дан 24 July 2018 в 19:42

Другие вопросы по тегам:

Похожие вопросы: