Какой код Midnight Commander распознает для клавиш управления курсором?

У меня есть приложение веб-терминала ssh, использующее «xterm.js» в браузере и модули npm «ws» и «ssh2» из node.js для подключения к серверу ssh. Я реализовал жест смахивания, который отправляет коды ansi esc+'[A', esc+'[B', esc+'[C' и esc+'[D'' для имитации клавиш со стрелками вверх, вниз, вправо и влево , где esc — код выхода ("\033"). Он отлично работает в командной строке bash, но в Midnight Commander он просто выводит символы «A», «B», «C» или «D» без левой скобки (или, по-видимому, escape).

Использует ли MC другой код? Я знаю, что «выучить ключи» - это вариант, но мне нужно, чтобы он работал из коробки на любом терминале ansi.

Дополнительная информация:

Сервер ubuntu lts linux. TERM — это «xterm-color».

Клавиши со стрелками на хакерской клавиатуре работают для обоих. Клавиши со стрелками на физической клавиатуре работают для обоих.

Ввод клавиш со стрелками в «sed -n l» дает мне приведенные выше коды с любой клавиатуры. Жесты смахивания в «sed -n l» показывают те же коды, что и «настоящие» клавиши курсора.

Использование \x1b,  или \033 для экранирования дает одинаковые результаты.

Кодировка везде utf-8.


person jdmayfield    schedule 25.09.2017    source источник


Ответы (1)


В порядке. Ответ:

esc+'OA', esc+'OB', esc+'OC' и esc+'OD'

Без кронштейна. Тот же код, только замените его заглавной буквой O.

Оба вроде работают в bash, но в MC работала только версия O без скобки.

person jdmayfield    schedule 26.09.2017