You can use a delayed timer to detect when the mouse stops moving after a certain amount of time. The following script shows how to do this:
Code:
import viz
viz.go()
MOUSE_STILL_EVENT = viz.getEventID('MouseStillEvent')
class MouseStillHandler(viz.EventClass):
def __init__(self,delay=0.25):
viz.EventClass.__init__(self)
self.still_delay = delay
self.callback(viz.TIMER_EVENT,self._onTimer)
self.callback(viz.MOUSE_MOVE_EVENT,self._onMouseMove)
def _onTimer(self,num):
viz.sendEvent(MOUSE_STILL_EVENT,viz.Event(delay=self.still_delay))
self.killtimer(0)
def _onMouseMove(self,e):
self.killtimer(0)
self.starttimer(0,self.still_delay)
handler = MouseStillHandler()
def onMouseStill(e):
print 'Mouse still'
viz.callback(MOUSE_STILL_EVENT,onMouseStill)