Опрос клавиатуры при помощи curses
Опрос клавиатуры при помощи curses несколько запутан. Во первых есть способ получить одиночное нажатие кнопки при помощи:
1 |
res=stdscr.getkey() |
В этом случае в res попадёт непосредственно сам символ в виде строки.
Второй способ — использование :
1 |
res=stdscr.getch() |
В этом случае в res попадет число вида int — код нажатой кнопки. Однако оба способа не работают, когда нужно получить данные о нажатой специальной клавиши, типа стрелок, F1..F12 и т.д. Если необходимо их получить, то нужно сначала включить данную возможность:
1 |
stdscr.keypad(True) |
Зачем так сделано, загадка. Почему нельзя получить эти данные сразу?
Так-же есть способ отключить ожидание нажатия кнопки, при помощи:
1 |
curses.cbreak() |

Итог: задача «Опрос клавиатуры при помощи curses» выполнена. Можете почитать и другие заметки посвященные Python. Официальная документация на curses здесь