
Можно ли в терминале Unix изменить некоторые клавиши клавиатуры?
Например: когда я нажимаю ,
, что _
печатается?
Если это действительно возможно, как мне это сделать?
Я использую Ubuntu.
решение1
Цитата изздесь:
Пользовательский стол
Вы можете создать свою собственную карту и сохранить ее в своем домашнем каталоге (например, ~/.Xmodmap). Распечатать текущую таблицу раскладки в файл конфигурации:
xmodmap -pke > ~/.Xmodmap
Внесите необходимые изменения в ~/.Xmodmap, а затем протестируйте новую конфигурацию с помощью:
xmodmap ~/.Xmodmap
Чтобы активировать пользовательскую таблицу при запуске Xorg, добавьте следующее:
~/.xinitrc if [ -f $HOME/.Xmodmap ]; then /usr/bin/xmodmap $HOME/.Xmodmap fi
Либо отредактируйте глобальный сценарий запуска
/etc/X11/xinit/xinitrc
.Тестовые изменения
Вы также можете внести временные изменения для текущего сеанса. Например:
xmodmap -e "keycode 46 = l L l L lstroke Lstroke lstroke" xmodmap -e "keysym a = e E"
Также:
man xmodmap
Более подробную информацию см .
РЕДАКТИРОВАТЬ:
Для ясности: xmodmap ~/.Xmodmap
может использоваться во многих местах, не только при запуске Xorg. Например, у меня есть эти две функции в моем ~/.bashrc:
# map caps to esc
mapcaps(){
xmodmap -e "clear lock"
xmodmap -e "keycode 0x42 = Escape"
echo mapcaps: caps-lock set to Escape via xmodmap
}
unmapcaps(){
xmodmap -e "keycode 0x42 = Caps_Lock"
xmodmap -e "add lock = Caps_Lock"
echo unmapcaps: caps-lock set to caps-lock via xmodmap
}
Это нужно для того, чтобы я мог динамически сопоставлять Caps с Esc.
На самом деле ограничений нет. Можете свободно вызывать xmodmap из ~/.xinitrc, ~/.bash_profile, из пользовательского скрипта и т. д.
решение2
Честно говоря, я никогда не пытался сделать то, что вы пытаетесь. Я уже добавлял альтернативные привязки клавиш (комбинации клавиш) для терминала (не X).
Вы можете просмотреть свои привязки клавиш с помощью: showkey
илиshowkey -s
Для проведения дополнительных исследований и внесения изменений вы будете использовать соответствующие программы.
loadkeys
dumpkeys
keymaps
setkeycodes
Для меня сделать изменение в Slackware довольно просто Я потратил некоторое время на поиски в Ubuntu, но не нашел тех же файлов files /usr/share/kbd/keymaps/i386/qwerty/*map.gz
. Хотя у меня был доступ только к загруженной системе Ubuntu. У вас может получиться лучше.
решение3
Если вы хотите сделать это в X Windowing System, вы можете использовать Xmodmap. Я никогда не разбирался в синтаксисе, поэтому найдитерабочий пример, и исходить из этого.