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"
val string_of_axis : SFJoystick.axis -> string
val axis_of_string : string -> SFJoystick.axis
type identification = {
name : string;
vendor_id : nativeint;
product_id : nativeint;
}
external get_identification : joystick:int -> SFJoystick.identification
= "caml_sfJoystick_getIdentification"
end