Как я понимаю, использовать Input() и raw_input() не получится, так как до нажатия на Enter никаких действий Python выполнять не будет. Соответственно, я вижу единственный вариант - в цикле ловить каждое нажатие клавиши, если она имеет специальную функцию - выполнить ее, если нет - вывести на экран.
Я прав или все таки есть какой то более адекватный вариант?
Посмотри в сторону библиотеки getch, возможность посимвольного ввода с клавиатуры.
while 1:
ch = getchar()
if ord(ch) == 10:
stdout.write('\n')
else:
stdout.write(ch)