Я должен встроить оболочку языка интерпретатора (скорее всего это будет python) в мое приложение. Поэтому мне нужен консольный виджет в моем наборе инструментов GUI. Я хочу написать это с нуля сам.
Я знаю, что должен запустить процесс с помощью каналов, перенаправляющих стандартный ввод / вывод / ошибку на мой консольный виджет. Я должен установить переменную окружения TERM = vt100 и отправлять сигнал SIGWINCH всякий раз, когда я изменяю размер моего терминала.
Для вывода программы мне нужно проверить поток октетов на управляющие символы vt100, как описано здесь Команды VT100 .
Звучит очень просто и приятный выходной.
Но что мне делать со входом? Кто отвечает за отображение символов и редактирование линейного режима?
Я скучаю по чему-то серьезному?