Skip to main content

forge_sys/
input.rs

1#[repr(i32)]
2pub enum Button {
3    A = 0,
4    B = 1,
5    X = 2,
6    Y = 3,
7    StickL = 4,
8    StickR = 5,
9    L = 6,
10    R = 7,
11    ZL = 8,
12    ZR = 9,
13    Plus = 10,
14    Minus = 11,
15    Left = 12,
16    Up = 13,
17    Right = 14,
18    Down = 15,
19}
20
21#[repr(i32)]
22pub enum Key {
23    A = 4,
24    B,
25    C,
26    D,
27    E,
28    F,
29    G,
30    H,
31    I,
32    J,
33    K,
34    L,
35    M,
36    N,
37    O,
38    P,
39    Q,
40    R,
41    S,
42    T,
43    U,
44    V,
45    W,
46    X,
47    Y,
48    Z,
49    N1 = 30,
50    N2,
51    N3,
52    N4,
53    N5,
54    N6,
55    N7,
56    N8,
57    N9,
58    N0,
59    Enter = 40,
60    Escape = 41,
61    Backspace = 42,
62    Tab = 43,
63    Space = 44,
64    Minus = 45,
65    Equals = 46,
66    LeftBracket = 47,
67    RightBracket = 48,
68    Backslash = 49,
69    Semicolon = 51,
70    Apostrophe = 52,
71    Grave = 53,
72    Comma = 54,
73    Period = 55,
74    Slash = 56,
75    CapsLock = 57,
76    F1 = 58,
77    F2,
78    F3,
79    F4,
80    F5,
81    F6,
82    F7,
83    F8,
84    F9,
85    F10,
86    F11,
87    F12,
88    Insert = 73,
89    Home = 74,
90    PageUp = 75,
91    Delete = 76,
92    End = 77,
93    PageDown = 78,
94    Right = 79,
95    Left = 80,
96    Down = 81,
97    Up = 82,
98}
99
100unsafe extern "C" {
101    pub fn forge_input_isDown(button: Button) -> bool;
102    pub fn forge_input_isPressed(button: Button) -> bool;
103    pub fn forge_input_isReleased(button: Button) -> bool;
104
105    pub fn forge_input_getStickL(x: *mut f32, y: *mut f32);
106    pub fn forge_input_getStickR(x: *mut f32, y: *mut f32);
107
108    pub fn forge_input_isConnected() -> bool;
109
110    pub fn forge_input_getTouch(x: *mut f32, y: *mut f32) -> bool;
111
112    pub fn forge_input_isKeyDown(key: Key) -> bool;
113    pub fn forge_input_isKeyPressed(key: Key) -> bool;
114    pub fn forge_input_isKeyReleased(key: Key) -> bool;
115
116    pub fn forge_input_isShiftDown() -> bool;
117    pub fn forge_input_isCtrlDown() -> bool;
118    pub fn forge_input_isAltDown() -> bool;
119}