def __init__(self): threading.Thread.__init__(self) self.active = False self.daemon = True self.targets = set() try: from WirelessControllerInterface import WirelessController self.controller = WirelessController() except: print " No working Wireless Controller installed." self.controller = None
class Joystick(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.active = False self.daemon = True self.targets = set() try: from WirelessControllerInterface import WirelessController self.controller = WirelessController() except: print " No working Wireless Controller installed." self.controller = None def enabled(self): return (self.controller <> None) def addTarget(self, target): self.targets.add(target) def stop(self): self.isActive = False def run(self): debug = False if self.controller == None: return ierr = self.controller.start() iOut = 0 if ierr == 0: f = open('/tmp/controller_log.txt', 'w') if debug else None self.isActive = True while self.isActive: status, event_spec = self.controller.getEventData() if status < 0: break if event_spec[0] == 'E': print >> sys.stderr, "Control device generated error: ", event_spec else: if f: f.write("Posting event: %s, status = %d" % (event_spec, status)) if iOut == 0: f.flush() iOut = (iOut + 1) % 4 for target in self.targets: QApplication.postEvent(target, QtControllerEvent(event_spec)) self.controller.stop() print >> sys.stderr, " Shutting down joystick thread. ", event_spec else: print "Wireless controller returned %s on startup" % str(ierr)
class Joystick( threading.Thread ): def __init__( self ): threading.Thread.__init__( self ) self.active = False self.daemon = True self.targets = set() try: from WirelessControllerInterface import WirelessController self.controller = WirelessController() except: print " No working Wireless Controller installed." self.controller = None def enabled( self ): return ( self.controller <> None ) def addTarget( self, target ): self.targets.add( target ) def stop(self): self.isActive = False def run(self): debug = False if self.controller == None: return ierr = self.controller.start() iOut = 0 if ierr == 0: f = open( '/tmp/controller_log.txt', 'w') if debug else None self.isActive = True while self.isActive: status, event_spec = self.controller.getEventData( ) if status < 0: break if event_spec[0] == 'E': print>>sys.stderr, "Control device generated error: ", event_spec else: if f: f.write( "Posting event: %s, status = %d" % ( event_spec, status ) ) if iOut == 0: f.flush() iOut = ( iOut + 1 ) % 4 for target in self.targets: QApplication.postEvent( target, QtControllerEvent( event_spec ) ) self.controller.stop() print>>sys.stderr, " Shutting down joystick thread. ", event_spec else: print "Wireless controller returned %s on startup" % str(ierr)
def __init__( self ): threading.Thread.__init__( self ) self.active = False self.daemon = True self.targets = set() try: from WirelessControllerInterface import WirelessController self.controller = WirelessController() except: print " No working Wireless Controller installed." self.controller = None