![]() |
#1
|
|||
|
|||
Simple Joystick Question
Hi all,
I have a question concerning the joystick buttons which is probably rather easy to be answered: How can I make my script to wait for the user to press one of the two buttons of a connected joystick. My guess was: Code:
import viz import vizjoy import viztask viz.go() joystick = vizjoy.add() def WaitForButtonPress(): yield viztask.waitButtonDown(None) print "Done." viz.quit() viztask.schedule( WaitForButtonPress() ) |
#2
|
|||
|
|||
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() ) |
#3
|
|||
|
|||
Hi Jeff,
thanks for the clarification on the viztask.waitButtonDown command and also for your code which works fine for me! ![]() |
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
simple VRPN question | mjabon | Precision Position Tracker (PPT) | 2 | 08-25-2009 10:12 PM |
simple question? | Boombay | Vizard | 1 | 07-06-2009 10:51 AM |
Facetracking and Immersion Joystick | Vygreif | Vizard | 1 | 01-25-2006 10:56 AM |
Another Joystick Question | Plasma | Vizard | 3 | 02-03-2004 11:16 AM |
Basic Joystick Navigation Question | Plasma | Vizard | 2 | 01-29-2004 07:08 PM |