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)