2024-09-30 13:43:43 +01:00
|
|
|
structure Input =
|
|
|
|
|
struct
|
|
|
|
|
type window = MLton.Pointer.t
|
|
|
|
|
|
|
|
|
|
(* Constants. *)
|
|
|
|
|
val (PRESS, _) =
|
|
|
|
|
_symbol "PRESS" public : ( unit -> int ) * ( int -> unit );
|
2024-09-30 15:46:19 +01:00
|
|
|
val PRESS = PRESS ()
|
|
|
|
|
|
2024-09-30 13:43:43 +01:00
|
|
|
val (REPEAT, _) =
|
|
|
|
|
_symbol "REPEAT" public : ( unit -> int ) * ( int -> unit );
|
2024-09-30 15:46:19 +01:00
|
|
|
val REPEAT = REPEAT ()
|
|
|
|
|
|
2024-09-30 13:43:43 +01:00
|
|
|
val (RELEASE, _) =
|
|
|
|
|
_symbol "RELEASE" public : ( unit -> int ) * ( int -> unit );
|
2024-09-30 15:46:19 +01:00
|
|
|
val RELEASE = RELEASE ()
|
2024-10-06 08:18:24 +01:00
|
|
|
|
|
|
|
|
val exportFramebufferSizeCallback =
|
|
|
|
|
_export "mltonFramebufferSizeCallback" public : (int * int -> unit) -> unit;
|
2024-10-06 10:23:07 +01:00
|
|
|
val setFramebufferSizeCallback =
|
|
|
|
|
_import "setFramebufferSizeCallback" public : window -> unit;
|
2024-10-17 01:20:48 +01:00
|
|
|
|
|
|
|
|
val exportCharCallback =
|
|
|
|
|
_export "mltonCharCallback" public : (Word32.word -> unit) -> unit;
|
|
|
|
|
val setCharCallback =
|
|
|
|
|
_import "setCharCallback" public : window -> unit;
|
2024-11-08 09:46:01 +00:00
|
|
|
|
|
|
|
|
val exportKeyCallback =
|
|
|
|
|
_export "mltonKeyCallback" public : (int * int * int * int -> unit) -> unit;
|
|
|
|
|
val setKeyCallback =
|
|
|
|
|
_import "setKeyCallback" public : window -> unit;
|
|
|
|
|
|
|
|
|
|
val (KEY_ESC, _) =
|
|
|
|
|
_symbol "KEY_ESC" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ESC = KEY_ESC ()
|
2025-08-31 02:41:37 +01:00
|
|
|
val (KEY_ENTER, _) =
|
|
|
|
|
_symbol "KEY_ENTER" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ENTER = KEY_ENTER ()
|
2025-09-01 02:52:05 +01:00
|
|
|
val (KEY_BACKSPACE, _) =
|
|
|
|
|
_symbol "KEY_BACKSPACE" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_BACKSPACE = KEY_BACKSPACE ()
|
2025-09-01 11:23:45 +01:00
|
|
|
|
|
|
|
|
val (KEY_ARROW_LEFT, _) =
|
|
|
|
|
_symbol "KEY_ARROW_LEFT" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ARROW_LEFT = KEY_ARROW_LEFT ()
|
|
|
|
|
val (KEY_ARROW_UP, _) =
|
|
|
|
|
_symbol "KEY_ARROW_UP" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ARROW_UP = KEY_ARROW_UP ()
|
|
|
|
|
val (KEY_ARROW_RIGHT, _) =
|
|
|
|
|
_symbol "KEY_ARROW_RIGHT" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ARROW_RIGHT = KEY_ARROW_RIGHT ()
|
|
|
|
|
val (KEY_ARROW_DOWN, _) =
|
|
|
|
|
_symbol "KEY_ARROW_DOWN" public : ( unit -> int ) * ( int -> unit );
|
|
|
|
|
val KEY_ARROW_DOWN = KEY_ARROW_DOWN ()
|
2026-01-19 13:23:47 +00:00
|
|
|
|
2026-01-20 04:19:26 +00:00
|
|
|
(* gamepad bindings below *)
|
2026-01-19 13:23:47 +00:00
|
|
|
val getGamepadState =
|
|
|
|
|
_import "getGamepadState" public : int -> unit;
|
|
|
|
|
|
|
|
|
|
val getLeftJoystickXAxisState =
|
|
|
|
|
_import "getLeftJoystickXAxisState" public : unit -> Real32.real;
|
|
|
|
|
val getLeftJoystickYAxisState =
|
|
|
|
|
_import "getLeftJoystickYAxisState" public : unit -> Real32.real;
|
2026-01-20 04:19:26 +00:00
|
|
|
|
|
|
|
|
val isCrossButtonPressed =
|
|
|
|
|
_import "isCrossButtonPressed" public : unit -> int;
|
|
|
|
|
val isCircleButtonPressed =
|
|
|
|
|
_import "isCircleButtonPressed" public : unit -> int;
|
|
|
|
|
val isSquareButtonPressed =
|
|
|
|
|
_import "isSquareButtonPressed" public : unit -> int;
|
|
|
|
|
val isTriangleButtonPressed =
|
|
|
|
|
_import "isTriangleButtonPressed" public : unit -> int;
|
|
|
|
|
val isR1ButtonPressed =
|
|
|
|
|
_import "isR1ButtonPressed" public : unit -> int;
|
|
|
|
|
val isL1ButtonPressed =
|
|
|
|
|
_import "isL1ButtonPressed" public : unit -> int;
|
2024-09-30 13:43:43 +01:00
|
|
|
end
|