![]() |
#1
|
|||
|
|||
![]()
I am using your example in the Joystick basics to connect to an XBox controller through the new directInput module.
When I call addJoystick(), I get an JoystickSensor, which does not let me call the <xbox>.getControllerID() method. Do I typecast this to some type? Do I need to use a different method to get access to the actual Xbox methods? There is nothing in the documentation, so could you please add it in the future? I already printed out the information on the device and it returns true for the isXboxController. Also, could you please consider changing <xbox>.getControllerID to <xbox>getControllerId to follow capitalization convention better? Thanks, George |
#2
|
|||
|
|||
Also, the button codes appear to be wrong.
I get different codes from the sensor down than what the documentation states: dinput.XBOX_BUTTON_START reads as a 4, while the left shoulder button reads as a 4 and the start button reads as a 7. |
#3
|
|||
|
|||
Yeah, the documentation is not very clear. You actually need to use the <dinput>.getXboxControllerList() to get a list of Xbox controller objects that provide the additional methods. They are different than the standard joystick objects created through <dinput>.addJoystick().
Here is a sample script that gets all the detected Xbox controllers and displays a config window for them: Code:
import viz import vizconfig viz.go() dinput = viz.add('DirectInput.dle') for sensor in dinput.getXboxControllerList(): vizconfig.register(sensor) vizconfig.getConfigWindow().setWindowVisible(True) |
#4
|
|||
|
|||
Great, that also fixed the button mapping problem.
~George |
#5
|
|||
|
|||
What about the analog sticks for the callbacks?
Has that been phased out and now I just use a timer to read the values? Before there was a move and a twist method. |
#6
|
|||
|
|||
Also, what about the dead zone?
Doesn't seem to have an effect when set on the XBox controller. If I poll the device using the getLeftStick() I still get a value less than the dead zone. Do I have to manually test for this? |
#7
|
|||
|
|||
You could register a callback function with vizact.onupdate to poll the analog values.
Make sure to calibrate your joystick using the Game Controllers dialog in the Windows Control Panel. |
#8
|
|||
|
|||
Is my 'DirectInput.dle' out of date? Why do I get this error?
AttributeError: 'DirectInputExtension' object has no attribute 'getXboxControllerList' |
#9
|
|||
|
|||
This command is available in Vizard 5.1. If you're using Vizard 5 you can go to 'Help > Check for Updates' to get the latest installer.
|
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
XBOX360 USB controller intermittently working | fivel_lab | Vizard | 2 | 01-26-2015 07:09 PM |