Как сопоставить мой ключ ввода с другим ключом

Мне нужна серьезная помощь, мой ключ ввода только что поврежден, и я больше не могу правильно использовать терминал. Я делю напиток на клавиатуре, все клавиши работают нормально, кроме клавиши ввода.

Итак, я хотел бы спросить, есть ли способ привязать его к другому ключу, как если бы я мог или мог бы сделать это с Windows

Спасибо за помощь

7
задан 7 May 2013 в 15:19

3 ответа

У вас должно быть два приложения: 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 на клавиатуре на действие Далее. Это довольно просто.

0
ответ дан 7 May 2013 в 15:19

Как нажать 'Enter', если ключ не работает

Если Вам посчастливилось иметь открытый терминал, нажмите одновременно Ctrl+Shift+U, затем нажмите Shift+A (верхний регистр A) для вставки Unicode для 'Входят'.

Иначе необходимо будет использовать экранную клавиатуру (может быть тот, установленный как инструмент Accessibility), или используйте внешнюю клавиатуру.

Ключ перекарты в рабочем столе X11

  1. Получите код клавиши ключа, который Вы хотите повторно отобразить при помощи 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.

  2. Повторно отобразите желаемый код клавиши на Return использование xmodmap команда, например:

    xmodmap -e "keycode 62 = Return"
    

    Код клавиши 62 перекарт от Shift_R кому: Return.

  3. Когда Вы довольны своей текущей контурной картой и хотите использовать ее на будущих X-сессиях, выполнить следующую команду для сохранения ее:

    xmodmap -pke > ~/.Xmodmap
    

Ключ перекарты в собственной консоли Linux

  1. Коды клавиши ядра отличаются от X11. Я нашел эту таблицу кода клавиши в быстром поиске Google. Я выбрал бы R Shift который имеет код клавиши 54 ядра.
  2. Выполните следующую команду для дампа текущей контурной карты:

    dumpkeys > ~/keymap.dmp
    
  3. Теперь, измените выведенную контурную карту: необходимо скопировать поведение кода клавиши 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

  4. Загрузитесь Ваша новая контурная карта в консоли (требует корневого доступа):

    sudo loadkeys ~/keymap.new
    
  5. Довольный результатом? На Ubuntu можно изменить настройки клавиатуры по умолчанию в /etc/default/keyboard. Скопируйте свой измененный файл контурной карты в безопасное местоположение и узнайте, как загрузить его автоматически при запуске, таким образом, Вы не должны работать loadkeys каждый раз.

2
ответ дан 7 May 2013 в 15:19

Добавление этой строки работает для меня.

~/ tail -1 .tmux.conf
run-shell 'xmodmap -e "keycode 104 = Return"'
0
ответ дан 7 May 2013 в 15:19

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

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