self.queue = Queue()
self.startup = Queue()
self.nmotes = nmotes
+ self.selectedWiimoteIndex = 0
self.timeout = timeout
self.setDaemon(1)
self._paused = False
if self._paused : continue
try :
if wiiuse.poll(self.wiimotes, self.nmotes) :
- for i in range(self.nmotes):
- m = self.wiimotes[i]
- if m[0].event == wiiuse.EVENT:
- self.event_cb(m)
+ m = self.wiimotes[self.selectedWiimoteIndex]
+ if m[0].event == wiiuse.EVENT:
+ self.event_cb(m)
except :
pass
def resume(self) :
self._paused = False
+
+ def selectWiimote(self, wiimoteIndex) :
+ self.selectedWiimoteIndex = wiimoteIndex
def do(self, func, *args):
'''Run the function in the thread handling the wiimote'''
WT = None
-def init(nmotes, timeout):
+def init(nmotes, timeout, screenResolution=(660, 370)):
'''Initialize the module.'''
global WT
if WT:
return
WT = wiimote_thread(nmotes, timeout)
+
+ nmotes = get_count()
+ for i in range(nmotes) :
+ wm = Wiimote(i) # access the wiimote object
+ wm.enable_accels(0) # turn off acceleration reporting
+ wm.enable_ir(1, vres = screenResolution, position=wiiuse.IR_BELOW)
+
def get_count():
'''How many Wiimotes were found?'''