Неожиданный вывод из-за нажатия клавиш в MacOS - PullRequest
2 голосов
/ 16 марта 2019

Я использую MacOS 10.14.3 и модуль проклятий Python 3.7 для печати значений, возвращаемых при нажатии клавиш со стрелками вверх или вниз:

import curses

def main(stdscr):
    win = curses.newwin(24, 80, 0, 0)
    while True:
        ch = win.getch()
        win.addstr(str(ch) + '\n')

curses.wrapper(main)

Когда я нажимаю вверх, это печатает:

27
91
65

Когда я нажимаю вниз, он печатает:

27
91
66

Из документов getch должен возвращать 258 (curses.KEY_UP) или 259 (curses.KEY_DOWN) соответственно. Есть идеи, что может быть причиной такого поведения? Мой терминал неправильно настроен?

1 Ответ

1 голос
/ 21 марта 2019

Используйте функцию keypad, например,

win.keypad(1);

до цикла (и после newwin).

...