МАБУ

Language:
ru us

Переназначение клавиш 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

 

 

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


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