LINUX.ORG.RU

[Python, curses] Перехват нажатий клавиш вправо, влево.


0

1

Вечер добрый, товарищи.

Пробую читать нажатые клавиши в Python curses based программе, и проблема в том что при нажатии клавиш ВЛЕВО, ВПРАВО всегда получаю код 27, не зависимо от того была ли нажата ВПРАВО или ВЛЕВО. Но буквенно-цифровые обрабатываются нормально. Я так подозреваю что должна как-то включатся поддержка расширенного режима ввода (или что-то вроде того), но в документации к модулю не могу ничего найти, и в нагугленых примерах ничего полезного не нашел. Инициализирую так:

curses.initscr()
curses.noecho()
curses.cbreak()
self.stdscr.keypad(1)
curses.curs_set(0)

★★★★★
Ответ на: комментарий от lazyklimm

Нашел в чем проблема: заменил window.getch() на stdscr.getch(), и теперь код возвращается нормальный. Но зато слетела отрисовка окошек.
Спасибо, пол проблемы решено.

urxvt ★★★★★
() автор топика

У меня вот так работало. Выдрано из исходников многолетней давности, если не заработает я не виновата.

scr = curses.initscr()
curses.noecho()
curses.cbreak()
curses.curs_set(0)
scr.nodelay(1)
scr.keypad(1)

while True:
    key = scr.getch()
true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.