Мне нужна серьезная помощь, мой ключ ввода только что поврежден, и я больше не могу правильно использовать терминал. Я делю напиток на клавиатуре, все клавиши работают нормально, кроме клавиши ввода.
Итак, я хотел бы спросить, есть ли способ привязать его к другому ключу, как если бы я мог или мог бы сделать это с Windows
Спасибо за помощь
У вас должно быть два приложения: xev и xmodmap, оба являются инструментом командной строки.
Запустите xev. Затем нажмите клавишу, поведение которой вы хотите изменить. то есть войти. и затем xev
выведет некоторую информацию о нажатой клавише. Обратите внимание на третью строку. Должно быть так:
state 0x10, keycode 110 (keysym 0xff55, Prior), same_screen YES,
В этом примере Prior - это имя поведения, которому в данный момент назначена клавиша, цифровой код клавиши - это внутренний идентификатор для распознавания ключа. Теперь сделайте это с помощью другого ключа, то есть PgDown выдаст этот вывод
state 0x10, keycode 115 (keysym 0xff56, Next), same_screen YES,
Здесь снова интересная часть для нас - это код ключа 115 и Next. Теперь, когда вы хотите поменять местами два ключа, используйте xmodmap.
xmodmap -e "keycode 110 = Next"
Изменяет клавишу с кодом 110 на клавиатуре на действие Далее. Это довольно просто.
Если Вам посчастливилось иметь открытый терминал, нажмите одновременно Ctrl
+Shift
+U
, затем нажмите Shift
+A
(верхний регистр A) для вставки Unicode для 'Входят'.
Иначе необходимо будет использовать экранную клавиатуру (может быть тот, установленный как инструмент Accessibility), или используйте внешнюю клавиатуру.
Получите код клавиши ключа, который Вы хотите повторно отобразить при помощи xev
команда.
KeyRelease event, serial 34, synthetic NO, window 0x4a00001,
root 0xc5, subw 0x0, time 482692681, (-95,23), root:(499,342),
state 0x11, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Вывод в качестве примера при нажатии правильной клавиши Shift, которая имеет код клавиши 62.
Повторно отобразите желаемый код клавиши на Return
использование xmodmap
команда, например:
xmodmap -e "keycode 62 = Return"
Код клавиши 62 перекарт от Shift_R
кому: Return
.
Когда Вы довольны своей текущей контурной картой и хотите использовать ее на будущих X-сессиях, выполнить следующую команду для сохранения ее:
xmodmap -pke > ~/.Xmodmap
R Shift
который имеет код клавиши 54 ядра.Выполните следующую команду для дампа текущей контурной карты:
dumpkeys > ~/keymap.dmp
Теперь, измените выведенную контурную карту: необходимо скопировать поведение кода клавиши 28 к новому коду клавиши, т.е. коду клавиши 54, если Вы хотите использовать сдвиг вправо. Можно сделать это вручную в текстовом редакторе или использовать следующие команды (поведение копий от кода клавиши 28 до кода клавиши 54):
sed -n '/keycode *28 = /p' ~/keymap.dmp > ~/keymap.return
sed -i 's/28 =/54 =/' ~/keymap.return
sed -e '/keycode *54 = /!b;r '$HOME'/keymap.return' -e 'd' ~/keymap.dmp > ~/keymap.new
Ваша новая контурная карта находится теперь в ~/keymap.new
Загрузитесь Ваша новая контурная карта в консоли (требует корневого доступа):
sudo loadkeys ~/keymap.new
Довольный результатом? На Ubuntu можно изменить настройки клавиатуры по умолчанию в /etc/default/keyboard
. Скопируйте свой измененный файл контурной карты в безопасное местоположение и узнайте, как загрузить его автоматически при запуске, таким образом, Вы не должны работать loadkeys
каждый раз.
Добавление этой строки работает для меня.
~/ tail -1 .tmux.conf
run-shell 'xmodmap -e "keycode 104 = Return"'