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)