Script demo_multiClick_py
[hide private]
[frames] | no frames]

Source Code for Script script-demo_multiClick_py

 1  from joy import * 
 2   
3 -class MultiClickApp( JoyApp ):
4 - def __init__(self,*arg,**kw):
5 JoyApp.__init__(self,*arg,**kw)
6
7 - def onStart( self ):
8 self.mc = MultiClick(self,allowEmpty=True) 9 self.mc.start()
10
11 - def onEvent( self, evt ):
12 if evt.type in set([ 13 KEYDOWN,MOUSEBUTTONDOWN,JOYBUTTONDOWN, 14 KEYUP,MOUSEBUTTONUP,JOYBUTTONUP]): 15 self.mc.push(evt) 16 else: 17 JoyApp.onEvent(self,evt)
18
19 - def onClick( self, plan, evt ):
20 progress( "Clicked: %s %s" 21 % (MultiClick.nameFor(evt),describeEvt(evt)) )
22
23 - def onMultiClick( self, plan, evts ):
24 progress( "MultiClick: [%s]" % (", ".join(evts.keys())) ) 25 26 if __name__=="__main__": 27 print """ 28 Demonstration of the MultiClick plan 29 ------------------------------------ 30 31 Shows the default behavior of the MultiClick plan, which can 32 be used to collect <something>UP and <something>DOWN events 33 and synthesize them into Click events -- a single, short click 34 and MultiClick events -- multiple buttons down at once. 35 36 The demonstration runs with allowEmpty=True, which also creates 37 MultiClick events when the clicked keys change to an empty set 38 """ 39 app = MultiClickApp() 40 app.run() 41