Нет прямой связи между xmodmap
и .inputrc
.
Существует несколько способов, в зависимости от эмулятора терминала, для изменения ключей, отправляемых через терминал. Некоторые из них включают
- изменение конфигурации клавиатуры X ( xkb )
- изменение кодов клавиш, отправляемых для данного события ( xmodmap )
- специфичные для терминала вещи, такие как
translations
ресурс, используемый xterm.
Однако в обычной ситуации control/Iотправляет tabсимвол, потому что так настроены почти все терминалы.
С помощью xkb
, вы можете (в принципе) изменить то, что делает клавиатура. В свою очередь, приложения X обнаруживают события нажатия и отпускания клавиш и переводят их в символы клавиш. xev
полезно для показа событий. Эмулятор терминала, работающий в X, получает серию событий, которые (используя вызовы библиотеки X) он может преобразовывать в символы. А tab
это просто еще один символ в этом случае.
xmodmap
Роль в этом процессе будет заключаться в специальном изменении конфигурации клавиатуры X.
Если вы используете xterm
, translations
ресурс дает много возможностей для настройки. Это особенность X Toolkit, которая позволяет связывать различные комбинации клавиш со встроенными действиями xterm. Привязки клавиш по умолчанию перечислены в руководстве . Вы можете переопределить или добавить эти привязки. Есть несколько мест, где вы можете установить информацию ( $HOME/.Xdefaults
например, хотя она может быть загромождена легко). Например, я установил XAPPLRESDIR
переменную окружения так, чтобы она указывала на мой пользовательский каталог, который содержит настроенные по умолчанию файлы приложения. В одном названии XTerm
я мог бы поместить это, чтобы изменить результат ctrl/I:
*VT100*translations: #override \n\ Ctrl ~Shift<Key>I:string("??")
Поскольку tabключ имеет свой собственный специальный ключ-символ, этот перевод не влияет на него.