Хехе, ну это будет весело. Я сходу вижу такое решение: нужно ловить нажатия клавиш, если это обычный символ - добавлять его в буфер и выводить на экран. Если это backspace - удалять из буфера последний символ и выводить на экран "\b " для затирания последнего выведенного символа. Соответственно, в момент нажатия Enter ничего с экрана читать не надо, достаточно взять из буфера.