При запуске XI используйте .xmodmaprc для переназначения определенных ключей таким образом:
! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key
Как я могу сделать то же самое на консоли?
Обновить
В дополнение к частичному решению, приведенному в моем ответе, я узнал, что консоль сопоставляет CTRL- .
с Compose. Так что я могу привыкнуть к этому. Настроить клавишу «Меню» в качестве «Составить» не так просто, поскольку существует тонна назначенных нулями кодов клавиш и нет очевидного претендента на альтернативное имя для «Меню».
Я также понял, что сами составные привязки намного более ограничены, чем те, к которым я привык в X, и что большинство специальных символов, которые я часто использую, отсутствуют. Возможно, есть утилита, которая переведет составные привязки X-синтаксиса во что-то, что loadkeys
может читать?
loadkeys
. Я думаю, что в настоящее время вы можете заставить консоль Linux читать конфигурацию X, но я не знаю, как это работает.Ответы:
Вам нужно будет отредактировать вашу таблицу ключей консоли. На моей консоли я отобразил Escape для Caps Lock и Caps Lock для Escape. Вот как это работает.
/usr/share/keymaps/i386/qwerty/us.map.gz
.us-nocaps.map.gz
.gunzip us-nocaps.map.gz && vim us-nocaps.map
keycode 58 = Caps_Lock
я изменил наkeycode 58 = Escape
.gzip us-nocaps.map && loadkeys us-nocaps
.Еще одна вещь: вам, вероятно, придется каким-то образом настроить свой дистрибутив, чтобы новые загрузочные таблицы всегда загружались при загрузке, в противном случае вам придется загружать вашу раскладку вручную
loadkeys
все время. Как вы это сделаете, зависит от того, какой дистрибутив вы используете.источник
vim
вы должны просто быть в состоянииvim us-nocaps.map.gz
Для более новых дистрибутивов Debian вам все это больше не нужно.
В
/etc/default/keyboard
наборе,XKBOPTIONS="caps:escape"
а затем сделать:источник
С некоторой помощью Седрика я обнаружил, что Ubuntu не установил сопоставления клавиш, где
$ man loadkeys
указано, что они должны быть (/usr/share/keymaps
). Это совершенно новая установка, поэтому, возможно, мне просто нужно установить пакет, чтобы получить сопоставления клавиш, отличные от того, который я выбрал во время установки.Вместо того, чтобы придерживаться этого угла и сделать решение более надежным и удобным, я делаю следующее:
Хотя я немного озадачен тем, почему система Cedric использует
Caps_Lock
блокировку заглавных букв и моюCtrlL_Lock
, она работает независимо.источник
console-data
пакете. Они не установлены по умолчанию. Вы можете узнать, в какой пакет устанавливаются файлы/usr/share/keymaps
, запустивapt-file search /usr/share/keymaps
.