Метод getch()
возвращает разные значения для главного окна и дополняет, если нажатая клавиша не является ASCII. Например, нажимая клавиши со стрелками, я получаю ожидаемые KEY_UP
, KEY_DOWN
и т. Д. В главном окне, но на панели я получаю 65
для стрелки вверх и 66
для стрелки вниз. Почему это так, и есть ли способ получить более 255 значений для специальных клавиш в пэде?
Я использую Python 2.6.5.
Следующий код демонстрирует проблему:
import curses
def main(stdscr):
c = None
while c != curses.KEY_RIGHT:
c = stdscr.getch()
stdscr.addstr(0, 0, "%3d" % c)
stdscr.refresh()
pad = curses.newpad(20, 20)
while True:
c = pad.getch()
pad.addstr(0, 0, "%3d" % c)
pad.refresh(0, 0, 1, 0, 20, 20)
if __name__ == '__main__':
curses.wrapper(main)