sig
external isConnected : joystick:int -> bool = "caml_sfJoystick_isConnected"
external getButtonCount : joystick:int -> int
= "caml_sfJoystick_getButtonCount"
external update : unit -> unit = "caml_sfJoystick_update"
external isButtonPressed : joystick:int -> button:int -> bool
= "caml_sfJoystick_isButtonPressed"
external getMaxJoystickCount : unit -> int = "caml_sfJoystickCount"
external getMaxJoystickButtonCount : unit -> int
= "caml_sfJoystickButtonCount"
external getMaxJoystickAxisCount : unit -> int = "caml_sfJoystickAxisCount"
external normaliseDirectionProportional :
x:float -> y:float -> float * float
= "caml_sfJoystick_normaliseDirectionProportional"
type axis = X | Y | Z | R | U | V | PovX | PovY
external hasAxis : joystick:int -> axis:SFJoystick.axis -> bool
= "caml_sfJoystick_hasAxis"
external getAxisPosition : joystick:int -> axis:SFJoystick.axis -> float
= "caml_sfJoystick_getAxisPosition"
end