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

Моя кнопка пробела больше не работает, поэтому я хочу изменить ее поведение на другую клавишу, чтобы имитировать нажатие клавиши пробела, так как связать пробел с правой клавишей alt / windows ???

8
задан 2 May 2012 в 19:37

1 ответ

Чтобы внести серьезные изменения в клавиатуру, включая переназначение символов и изменение модификаторов, вам нужно использовать утилиту xmodmap - см. man xmodmap. Есть несколько способов выполнить изменения:

  • либо из командной строки

    xmodmap -e "your commands"
    
  • , либо записать команды в файл, например .xmodmaprc, затем выполните его в элементах входа в систему или в .bashrc с помощью

    xmodmap .xmodmaprc
    

    Если вы используете файл ~ / .xmodmap, он будет автоматически выполнен при входе в систему.

Alt и Super (ключ Windows) являются модификаторами и ведут себя специально для системы. Ключи должны быть отключены от их модификатора, прежде чем вы сможете переназначить что-либо еще Пробел считается обычным ключом.

Отмена отображения модификатора

Откройте окно терминала (Ctrl-Alt-T, если вы не знакомы с ним).

Запустите команду xmodmap -pm, чтобы получить список клавиш-модификаторов в вашей системе. В выводе самый левый столбец - это список модификаторов, доступных для системы. В других столбцах перечислены ключи, связанные с этими модификаторами, в виде пар keysym (keycode). Например, одна строка моего вывода -

mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)

. Коды клавиш соответствуют физическим клавишам и могут (гипотетически) различаться между клавиатурами. KeySym - это имя ключа. Если ключ является печатным символом, имя соответствует напечатанному символу.

Теперь у вас есть то, что вам нужно, чтобы удалить ключ из соответствующего модификатора. Я собираюсь притвориться, что мы работаем с Alt_R.

Запустите команду xmodmap (одним из методов вверху)

remove mod1 = Alt_R

Переопределите пробел

Далее нам нужно узнать, что такое пробел. Запустите xmodmap -pke в окне вашего терминала. Это выведет на экран то, к чему привязаны все клавиши на вашей клавиатуре. Где-то на этих четырех или пяти экранах - ссылка на пробел. Нам нужно его имя, чтобы сопоставить ключ с ним.

Оповещение о спойлере: пробел называется space

У нас все еще есть ключ с именем Alt_R, но он ничего не делает. Мы можем использовать его имя, чтобы переназначить его на пробел. Запустите команду xmodmap:

keysym Alt_R = space

Может случиться, что во время тестирования вы уже изменили имя Alt_R. Возможно, вы случайно переназначили его на букву «а». Вы не хотите переназначать «a» на что-то другое, потому что вам все еще нужен один из ключей с этим именем. Если вы окажетесь в такой ситуации, вы все равно можете обратиться к Alt_R по его коду ключа. Помните, что на моей клавиатуре это 0x6c. Это может быть другим для вас. Вы можете использовать эту команду xmodmap, чтобы изменить ее:

keycode 0x6c = space

Удачи!

0
ответ дан 2 May 2012 в 19:37

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

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