DirectX SDK |
This topic pertains only to application development in Visual Basic. See DirectInput C/C++ Tutorials.
Presuming you have found a suitable force-feedback device, the DirectInputDevice object created in the last step in order to check capabilities can be left in place. It requires some further initialization, as covered in Tutorial 3: Using the Joystick: setting the data format and cooperative level, and setting the range properties for input. Note that the cooperative level must include DISCL_EXCLUSIVE. Although you probably won't need background access to the device, the DISCL_BACKGROUND flag makes debugging easier, because you won't keep losing acquisition when you switch to the code window.
Call didev.SetCommonDataFormat(DIFORMAT_JOYSTICK2) Call didev.SetCooperativeLevel(Me.hWnd, _ DISCL_BACKGROUND Or DISCL_EXCLUSIVE) ' Set range properties... . . .
For force feedback, you might also want to disable the autocenter property of the device, so that the default spring action will not interfere with effects you create:
Dim prop As DIPROPLONG prop.lData = 0 prop.lHow = DIPH_DEVICE prop.lObj = 0 prop.lSize = Len(prop) Call didev.SetProperty("DIPROP_AUTOCENTER", prop) didev.Acquire
Next: Step 3: Create an Effect