Getting B3D to work with XInput?

Blitz3D Forums/Blitz3D Beginners Area/Getting B3D to work with XInput?

I haven't got a 360 controller, however maybe you could try if these tests do *anything* ?

you need these decls:
.lib "xinput.dll"
XInputGetState( index, state* )
XInputSetState( index, vibe* )


vibration test:
vibe = CreateBank(255)

Print "press any key to test, ESC = exit"

Repeat

WaitKey()
If KeyHit(1) Then Exit

sp1 = Rand(65535) ;left motor speed  .. 65535 = max
sp2 = Rand(65535) ;right

Print "sp1 = " + sp1
Print "sp2 = " + sp2

PokeShort vibe, 0, sp1
PokeShort vibe, 2, sp2

XInputSetState(0, vibe)
XInputSetState(1, vibe)
XInputSetState(2, vibe)
XInputSetState(3, vibe)
XInputSetState(4, vibe)

Until KeyDown(1)

End



input test:
Graphics 800, 600, 0, 2
SetBuffer BackBuffer()

state = CreateBank(255)

Repeat

Cls
Locate 0, 0

For i = 0 To 3

   XInputGetState(i, state)

   ;DWORD
   packetnumber = PeekInt(state, 0) ;if this number changes, there is new input

   ;WORD
   buttons = PeekShort(state, 4)

   ;BYTE
   bLeftTrigger = PeekByte(state, 5)
   bRightTrigger = PeekByte(state, 6)

   ;SHORT
   sThumbLX = PeekShort(state, 7)
   sThumbLY = PeekShort(state, 9)
   sThumbRX = PeekShort(state, 11)
   sThumbRY = PeekShort(state, 13)
 
   Print "controller = " + i
   Print packetnumber
   Print buttons
   Print bLeftTrigger
   Print bRightTrigger
   Print sThumbLX
   Print sThumbLY
   Print sThumbRX
   Print sThumbRY
   Print

Next

Flip

Until KeyHit(1)

FreeBank state