Это возможно , если и только если терминал посылает различные управляющие последовательности для Ctrl+ Leftпротив Left. Это не так по умолчанию на консоли Linux (по крайней мере, на моей машине). Вы можете сделать это, изменив раскладку клавиатуры. Точный файл для изменения может зависеть от вашего дистрибутива; в Debian lenny файл для изменения есть /etc/console/boottime.kmap.gz
. Вам нужны строки, такие как
control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"
Вы также можете выбрать те же escape-последовательности, что и у вашего эмулятора X-терминала. Чтобы узнать, что такое управляющая последовательность, введите Ctrl+ V Ctrl+ Leftв оболочке; это вставляет (на моей машине), ^[O5D
где ^[
находится escape-символ. В файле раскладки \033
представляет экранирующий символ.
Конфигурирование приложения в терминале для декодирования escape-последовательности является отдельной проблемой.
"\033O5D"
код, но полностью опускаете, откуда вы взялиkeycode 105
иF100
коды. Кроме того, я получаю^[[1;5B
и^[[1;5A
для Ctrl + Down и Ctrl + Up. Как мне справиться с этой1;
частью?