| Pub.FreeJoy: | Functions | Source |
| JoyCount | Counts the number of joysticks. |
| JoyButtonCaps | Available buttons (on/off controls) on a joystick. |
| JoyAxisCaps | Available axis (proportional controls) on a joystick. |
| JoyName | Get the name of the joysticks connected to the specified port. |
| JoyDown | Test the status of a joystick button. |
| JoyHit | Check for a joystick button press |
| JoyX | Reports the horizontal position of the joystick. |
| JoyY | Reports the vertical position of the joystick. |
| JoyZ | Reports the position of the joystick's Z axis if supported. |
| JoyR | Reports the position of the joystick's R axis if supported. |
| JoyU | Reports the position of the joystick's U axis if supported. |
| JoyV | Reports the position of the joystick's V axis if supported. |
| JoyYaw | Reports the position of the joystick's YAW axis if supported. |
| JoyPitch | Reports the position of the joystick's PITCH axis if supported. |
| JoyRoll | Reports the position of the joystick's ROLL axis if supported. |
| JoyHat | Reports the position of the joystick's HAT controller if supported. |
| JoyWheel | Reports the position of the joystick's WHEEL controller if supported. |
| FlushJoy | Flush joystick button states. |
| Function JoyCount() | |
| Returns | The number of joysticks and gamecontrollers connected to the system. |
| Description | Counts the number of joysticks. |
| Example | ' testjoy.bmx Import Pub.FreeJoy Strict If Not JoyCount() RuntimeError "No joystick found!" Graphics 640,480 Function drawprop(n$,p#,y) Local w DrawText n$,0,y w=Abs(p)*256 If p<0 DrawRect 320-w,y,w,16 Else DrawRect 320,y,w,16 EndIf End Function Local t=0 While Not KeyHit(KEY_ESCAPE) Cls SetColor 255,255,255 Local n=JoyCount() DrawText "joycount="+n,0,0 DrawText "JoyName(0)="+JoyName(0),0,20 DrawText "JoyButtonCaps(0)="+Bin$(JoyButtonCaps(0)),0,40 DrawText "JoyAxisCaps(0)="+Bin$(JoyAxisCaps(0)),0,60 For Local i=0 To 31 SetColor 255,255,255 If JoyDown(i) SetColor 255,0,0 DrawOval i*16,80,14,14 Next SetColor 255,255,0 drawprop "JoyX=",JoyX(0),100 drawprop "JoyY:",JoyY(0),120 drawprop "JoyZ:",JoyZ(0),140 drawprop "JoyR:",JoyR(0),160 drawprop "JoyU:",JoyU(0),180 drawprop "JoyV:",JoyV(0),200 drawprop "JoyHat:",JoyHat(0),220 drawprop "JoyWheel:",JoyWheel(0),240 DrawRect 0,280,t,10 t=(t+1)&511 Flip Wend End |
| Function JoyButtonCaps(port) | |
| Returns | A bitfield representing which buttons are present. |
| Description | Available buttons (on/off controls) on a joystick. |
| Function JoyAxisCaps(port) | |
| Returns | A bitfield representing which axis are available. |
| Description | Available axis (proportional controls) on a joystick. |
| Information |
The bit positions of the returned value correspond to the following constants defined
in the FreeJoy module:
|
| Function JoyName$(port) | |
| Returns | The system name of the joystick. |
| Description | Get the name of the joysticks connected to the specified port. |
| Function JoyDown( button,port=0 ) | |
| Returns | True if the button is pressed. |
| Description | Test the status of a joystick button. |
| Function JoyHit( button,port=0 ) | |
| Returns | Number of times button has been hit. |
| Description | Check for a joystick button press |
| Information | The returned value represents the number of the times button has been hit since the last call to JoyHit with the same specified button. |
| Function JoyX#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1 if Left, 1 if Right or a value inbetween. |
| Description | Reports the horizontal position of the joystick. |
| Function JoyY#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the vertical position of the joystick. |
| Function JoyZ#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's Z axis if supported. |
| Function JoyR#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's R axis if supported. |
| Function JoyU#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's U axis if supported. |
| Information | The U value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks. |
| Function JoyV#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's V axis if supported. |
| Information | The V value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks. |
| Function JoyYaw#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's YAW axis if supported. |
| Function JoyPitch#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's PITCH axis if supported. |
| Function JoyRoll#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween. |
| Description | Reports the position of the joystick's ROLL axis if supported. |
| Function JoyHat#( port=0 ) | |
| Returns | -1.0 if the joystick is centered, and values between 0.0, 0.25, 0.5 and 0.75 for the directions Up, Right, Down, Left respectively. |
| Description | Reports the position of the joystick's HAT controller if supported. |
| Function JoyWheel#( port=0 ) | |
| Returns | Zero if the joystick is centered, -1.0 if Left, 1.0 if Right or a value inbetween. |
| Description | Reports the position of the joystick's WHEEL controller if supported. |
| Function FlushJoy( port_mask=0 ) | |
| Description | Flush joystick button states. |