переназначить клавишу клавиатуры на другую

МАБУ

Брюс Ли Джет Ли Джеки Чан

Переназначение клавиш FreeBSD


Как переназначить клавиши клавиатуры при помощи xmodmap.


Иногда бывает что нужно переназначить клавишу клавиатуры на другую. Например у вас вышла из строя какая то клавиша а ее функционал для вас очень важен или как в моем случае когда я делал джойстик для своей самодельной игровой приставке. Если интересно читаем статью Игровая консоль FreeBSD.

Допустим нужно изменить клавишу Esc на Ctrl, для этого мы будем использовать утилиту xmodmap.

Для начала давайте посмотрим какая у нас таблица назначений клавиш. Чтобы отобразить таблицу клавиш в терминале нужно ввести:


xmodmap -pke


или сохраним таблицу клавиш в файл


xmodmap -pke > file


Теперь видно код клавиши Ctrl keycode 37 = Control_L NoSymbol Control_L, а код клавиши Esc keycode 9 = Escape NoSymbol Escape


Создаем файл конфигурации в домашней директории ~/.Xmodmap со следующим содержанием:


keycode 9 = Control_L

add Control = Control_L



Для применения изменений вводим команду:


xmodmap ~/.Xmodmap


Но при перезагрузки системы настройки сбросятся, чтобы активировать изменения таблицы при при загрузке системы добавьте в файл ~/.xinitrc следующее:


if [ -s ~/.Xmodmap ]; then

xmodmap ~/.Xmodmap

fi


Настройки сработают при условии если вы добавите эти строки перед первым exec.


Аналогичным способом меняются и другие клавиши. Например для смены клавиши A на B:


xmodmap -pke


keycode 38 = a A Cyrillic_ef Cyrillic_EF

keycode 56 = b B Cyrillic_i Cyrillic_I


~/.Xmodmap


keycode 38 = b B Cyrillic_i Cyrillic_I


~/.xinitrc


if [ -s ~/.Xmodmap ]; then

xmodmap ~/.Xmodmap

fi



Пример работы смотрим в демонстративном видео ниже.


Загрузка беседы