Как проверить, установлен ли DECCKM (режим клавиш курсора) для последовательностей курсора в vt100? (или любые другие терминалы)

Я хотел бы знать, есть ли способ узнать, была ли установлена функция DECCKM (определяющая, следует ли использовать последовательности курсоров ANSI) или нет.

Я подключаюсь к процессу через ptrace, поэтому у меня нет возможности узнать, были ли последовательности ^[[?1h или ^[[?1l переданы в терминал) перед установлением соединения.

Есть ли какая-нибудь последовательность строк, которая при отправке на терминал позволит мне запросить состояние режима курсорных клавиш? Или есть какая-то функция / системный вызов C, которая может это сделать? Поскольку я отлаживаю процесс, я могу подделать как входные данные терминала, так и вызывать системные функции от имени отлаженного процесса, поэтому мне просто интересно узнать, как вы можете выполнить проверку, как если бы вы писали программу и имели доступ к источнику код.

1 ответ

Используйте DECRQM, чтобы узнать статус DECCKM.

Другие вопросы по тегам