Sdl.Controller
type bind_type = uint8
val bind_type_none : bind_type
val bind_type_button : bind_type
val bind_type_axis : bind_type
val bind_type_hat : bind_type
type axis = uint8
val axis_invalid : axis
val axis_left_x : axis
val axis_left_y : axis
val axis_right_x : axis
val axis_right_y : axis
val axis_trigger_left : axis
val axis_trigger_right : axis
val axis_max : axis
type button = uint8
val button_invalid : button
val button_a : button
val button_b : button
val button_x : button
val button_y : button
val button_back : button
val button_guide : button
val button_start : button
val button_left_stick : button
val button_right_stick : button
val button_left_shoulder : button
val button_right_shoulder : button
val button_dpad_up : button
val button_dpad_down : button
val button_dpad_left : button
val button_dpad_right : button
val button_max : button
val bind_type : button_bind -> bind_type
val bind_button_value : button_bind -> int
val bind_axis_value : button_bind -> int
val bind_hat_value : button_bind -> int * int