Из того, что я могу сказать, читаем terminfo(5)
, kcuu1 должен быть последовательностью, которую терминал посылает при нажатии стрелки вверх. Я никогда не видел, чтобы это было что-то другое, кроме ^[[A
(теперь речь идет о cat
, испорченных настройках терминала и т. Д.). Итак, учитывая, что терминалы, которые я использовал (rxvt, gnome-terminal, iTerm), по умолчанию имеют значение TERM = xterm, почему не kcuu1 ?Почему terminfo [kcuu1] = ' EOA'?
Я вижу, что cuu1 является\E[A
, но (со страницы человека, опять же), что это строка, которую я должен послать терминалу, чтобы переместить курсор, а не строка терминал посылает мне.
Кстати это с OS X.
Спасибо! Я нашел ссылку на «режим приложения» в Интернете, но справочная страница вызывает его «режим клавиатуры», и я не установил соединение. –
Тесные описания возможностей терминала основаны на X/Open, который, в свою очередь, копирует из SVr4 - все без пояснений. Абзац далее в разделе [функциональные клавиши] (http://invisible-island.net/ncurses/man/terminfo.5.html#h3-Keypad-and-Function-Keys), вероятно, более полезен для понимания smkx/rmkx. –