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)
Run Code Online (Sandbox Code Playgroud)