Как повторно отобразить ключ в Ubuntu 17.10 Уэйленд? (Ключ к Сдвигу)

У меня есть 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-опций и/или каковы названия 'ключа сдвига вправо' и ключ?

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

2 ответа

Прямо сейчас настройка ключей немного хитра при использовании Уэйленда: 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
ответ дан 7 December 2019 в 12:32

Приблизительно после 2 дней поиска с помощью Google ответа на вопрос "то, как повторно отобразиться, включает Уэйленд", мне удалось найти очень, очень простой путь. Я не знаю, является ли это правильный путь, но это на самом деле работает.

Единственная вещь, которую я должен был сделать, открыть файл

/usr/share/X11/xkb/keycodes/evdev

То, что списки файлов все коды клавиши для всех ключей в форме <код> = число

Можно просто подкачать коды клавиши вокруг. То, что я на самом деле подкачал вокруг, является числами НЕ код. Я изменил обратную косую черту, которая на Двораке является рядом с, Входят с Ctrl для Emacs.

править: узнать, какой "код" представляет каждый ключ как в <коде> = число, которое можно выполнить xev команда от терминала для получения кода клавиши в терминале после нажатия кнопки (ищут тот код клавиши в evdev файле для получения evdev scancode для ключа), или можно посетить

/usr/share/X11/xkb/symbols/

Это - каталог, который имеет один файл для каждого языка, установленного на компьютере и модифицирующих клавишах. Выберите язык, на котором работает Ваш ПК.

В том файле будут все варианты, поддерживаемые перечисленный, такие как dvorak, программисты dvorak, colemans и т.д. и т.д.

Там Вы видите <код> имена

1
ответ дан 7 December 2019 в 12:32

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

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