Как отправить ctrl / shift / up / down / etc ключи в psuedo tty? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть терминал psuedo, который я запускаю так:

fdm = posix_openpt(O_RDWR);

rc = grantpt(fdm);

rc = unlockpt(fdm);

fds = open(ptsname(fdm), O_RDWR);

if (fork())
{
    fd_set fd_in;

    close(fds);
}

Затем я продолжаю использовать стандартные вызовы read () / write () для отправки команд для получения вывода.Так что очень нормальный терминал psuedo, все отлично работает, как это.

Но я хочу знать, как отправить клавиши «Вверх» и «Вниз» для прокрутки предыдущих команд и отправить клавиши «^ C» ctrl C, клавиши Shift и т. Д.

Комуотправить CTRL CI пытался это, и это не работает.

write(fd, "^C\n", 3);

и

write(fd, "\x03", 1);

Ни одна из этих работ.Может кто-нибудь сказать мне, как отправить не ASCII / UNICODE ключи в psuedo tty?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...