小编Bjo*_*orn的帖子

curses getch()为python中的主窗口和pad返回不同的值

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)

python curses getch

3
推荐指数
1
解决办法
1297
查看次数

标签 统计

curses ×1

getch ×1

python ×1