Я использую ncurses
для простого пользовательского интерфейса, который включает получение информации от пользователя.
Ввод - это окно высотой в 1 строку, и все, что есть, это курсор.
Я сейчас использую wgetnstr(inputwindow, input, inputlen)
.
Что я хотел бы, так это уметь редактировать эту строку ввода, так же, как это делает readline. То есть возможность использовать ^ W (^ U работает, кстати), вернуться в буфер и внести изменения и т. Д.
Если бы я мог сохранить историю ввода и иметь доступ к ней с помощью стрелки «вверх», это тоже было бы здорово.
Однако я не смог заставить работать stdin ни с чем, кроме функций, которые предоставляет ncurses
. Было бы неплохо с моей стороны сбросить inputwindow
, если бы это принесло мне вышеуказанные преимущества. Но я не уверен, если это возможно.
Итак,
- Можно ли использовать
readline
или иметь такую функциональность, используя ncurses
и функцию ввода, которую он обеспечивает?
и / или
- Возможно ли это, и как я могу иметь пустую строку под окном curses, которая позволила бы пользователю вводить данные непосредственно с помощью stdin (то есть все обычные функции ввода для чтения и, следовательно, даже
readline
напрямую)?
Если это выполнимо, какой-то простой код был бы великолепен, но руководство и указатели тоже хороши. Если нет, было бы здорово узнать, а не тратить время на попытки заставить его работать.