sig
  type t
  external num_joysticks : unit -> int = "caml_SDL_NumJoysticks"
  external name_for_index : device_index:int -> string
    = "caml_SDL_JoystickNameForIndex"
  external j_open : device_index:int -> Sdljoystick.t
    = "caml_SDL_JoystickOpen"
  external close : Sdljoystick.t -> unit = "caml_SDL_JoystickClose"
  external num_axes : Sdljoystick.t -> int = "caml_SDL_JoystickNumAxes"
  external num_hats : Sdljoystick.t -> int = "caml_SDL_JoystickNumHats"
  external get_axis : Sdljoystick.t -> axis:int -> int
    = "caml_SDL_JoystickGetAxis"
  external get_button : Sdljoystick.t -> button:int -> int
    = "caml_SDL_JoystickGetButton"
end