Exemple #1
0
 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
Exemple #2
0
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