Python проклятие функции getmouse? - PullRequest
2 голосов
/ 28 июня 2010

Я пытаюсь найти способ получить событие щелчка мыши в модуле curse в Python.

Я прочитал документ на http://docs.python.org/library/curses.html, и он предложил сделать

c == curses.getch()
if(c == curses.KEY_MOUSE):
    curses.getmouse()
    ...

Однако это «оператор if», похоже, никогда не сработает ... и если я попытался переместить функцию getmouse () за пределы «оператора if», чтобы заставить ее возвращать информацию мыши, она вернет

    (devid,x,y,z,bstate) = curses.getmouse()
_curses.error: getmouse() returned ERR

Любая другая мысль?

1 Ответ

5 голосов
/ 28 июня 2010

Включили ли вы отчет о событиях мыши с помощью функции mousemask и проверили его возвращаемое значение, чтобы убедиться, что оно действительно может сообщать о некоторых событиях мыши? В зависимости от терминала (или программы эмулятора для одного, в эти дни ;-), отчет о событиях мыши может или не может быть, полностью или частично; и в любом случае он по умолчанию отключен в curses (не только в Python, это общая идея curses ;-), если только вы не включите его явно с помощью вызова mousemask.

...