что такое escape-последовательность терминала для ctrl + arrow (left, right,…) в TERM = linux

Я создаю окно терминала в браузере (например, ajaxterm) и не знаю, какую escape-последовательность отправить в туннель ssh (открывается через paramiko.SSHClient (). Invoke_shell ( термин = 'linux') ).

Я нашел регистратор ключей и попробовал его в терминале с $ TERM == 'linux', но он возвращает ту же последовательность для ctrl + left и слева (27,91,68).

Если я попробую использовать кейлоггер в другом терминале (с $ TERM == 'xterm'), я получу коды (27,91,49,59,53,68). Но эти коды не перемещаются, генерируют ожидаемый вывод из канала SSH (который перемещает курсор на одно слово влево в нормальной оболочке Linux). Это верно, даже если я начинаю paramiko с term = 'xterm'.

Есть идеи, какую последовательность мне следует использовать? Или почему приведенная выше последовательность не работает?

ОБНОВЛЕНИЕ : Я был бы счастлив использовать другой тип терминала (не «linux»), но, к сожалению, pyte работает только с терминалами VTxxx (я полагаю, что "linux" - это терминал, подобный vt220 - в любом случае, он работает), поэтому xterm не работает должным образом.

11
задан johndodo 15 October 2011 в 18:55
поделиться