LINUX.ORG.RU

История изменений

Исправление HighMan, (текущая версия) :

win.keypad(1)
i = win.getkey()
if i == curses.KEY_UP: win.addstr(18, 2, 'KEY_UP')
if i == curses.KEY_DOWN: win.addstr(18, 2, KEY_DOWN')
if i == curses.KEY_CANCEL: break

После добавления win.keypad(1) специальные клавиши стали обрабатываться нормально. Вот только… Придется отказаться от Esc. При включенном win.keypad(1) esc идет как первый байт при нажатии специальных клавиш и считается, что должно быть продолжение из второго байта.

Вот, блин…

Исходная версия HighMan, :

win.keypad(1)
i = win.getkey()
if i == curses.KEY_UP: win.addstr(18, 2, 'KEY_UP')
if i == curses.KEY_DOWN: win.addstr(18, 2, KEY_DOWN')
if i == curses.KEY_CANCEL: break

После добавления win.keypad(1) специальные клавиши стали обрабатываться нормально. Вот только… KEY_CANCEL, видимо, не ESC.

Как в curses зашифровали Esc????