интерпретировать клавиши со стрелками в режиме raw (posix) - PullRequest
0 голосов
/ 11 марта 2012

Я пытаюсь создать оболочку (ничего серьезного, просто возиться) и хочу прочитать клавиши со стрелками в необработанном режиме, чтобы избежать вывода управляющих символов на экран, и на самом деле иметь возможность использовать их для возврата и редактирования.линия, прежде чем я нажму Enter.Возможно, это возможно сделать с помощью termios, но есть ли более простой способ сделать это?Или это возможно легко сделать с помощью termios?Это просто кажется довольно большим предметом, который нужно изучить полностью.

Я читаю строки из stdin в цикле и вызываю fork> execvp с вектором аргументов, который я создаю из входной строки.

Ответы [ 2 ]

3 голосов
/ 11 марта 2012

Возможно, это возможно сделать с помощью termios, но есть ли более простой способ сделать это

На сегодняшний день самым простым способом было бы использовать readlineбиблиотека, которая предлагает все и даже больше, чем вы упоминаете.Должно быть довольно легко заставить вашу оболочку вести себя как полноценный bash (редактирование строк, история команд) с относительной легкостью.

1 голос
/ 11 марта 2012

Если вы на самом деле не хотите делать это самостоятельно, я бы порекомендовал вам GNU Readline Library , которая сделает это за вас.

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