The viztask.waitButtonDown command waits for a GUI button object to be pressed. To wait for a joystick button press in your task function you can create a custom condition. The task function in the following example waits for either buttons 1 or 2 to be pressed before it continues:
Code:
import viz
import viztask
import vizjoy
viz.go()
joystick = vizjoy.add()
def buttonTask():
d = viz.Data()
waitButton1 = waitJoyButtonDown(joystick,1)
waitButton2 = waitJoyButtonDown(joystick,2)
yield viztask.waitAny([waitButton1,waitButton2],d)
if d.condition is waitButton1:
print 'button 1 was pressed'
else:
print 'button 2 was pressed'
viz.quit()
class waitJoyButtonDown( viztask.Condition ):
def __init__( self, joy, button ):
self._joy = joy
self._button = button
def update( self ):
return self._joy.isButtonDown(self._button)
viztask.schedule( buttonTask() )