diff --git a/Editor/resources/Scripts/Input.wren b/Editor/resources/Scripts/Input.wren index 25fb5972..b5f1d878 100644 --- a/Editor/resources/Scripts/Input.wren +++ b/Editor/resources/Scripts/Input.wren @@ -1,5 +1,129 @@ import "Nuake:Math" for Vector3 import "Nuake:Engine" for Engine + +class Keys { + static SPACE { 32 } + static APOSTROPHE { 39 } /* ' */ + static COMMA { 44 } /* } */ + static MINUS { 5 } /* - */ + static PERIOD { 46 } /* . */ + static SLASH { 47 } /* / */ + static NUM0 { 48 } + static NUM1 { 49 } + static NUM2 { 50 } + static NUM3 { 51 } + static NUM4 { 52 } + static NUM5 { 53 } + static NUM6 { 54 } + static NUM7 { 55 } + static NUM8 { 56 } + static NUM9 { 57 } + static SEMICOLON { 59 } /* ; */ + static EQUAL { 61 } /* { */ + static A { 65 } + static B { 66 } + static C { 67 } + static D { 68 } + static E { 69 } + static F { 70 } + static G { 71 } + static H { 72 } + static I { 73 } + static J { 74 } + static K { 75 } + static L { 76 } + static M { 77 } + static N { 78 } + static O { 79 } + static P { 80 } + static Q { 81 } + static R { 82 } + static S { 83 } + static T { 84 } + static U { 85 } + static V { 86 } + static W { 87 } + static X { 88 } + static Y { 89 } + static Z { 90 } + static LEFT_BRACKET { 91 } /* [ */ + static BACKSLASH { 92 } /* \ */ + static RIGHT_BRACKET { 93 } /* ] */ + static GRAVE_ACCENT { 96 } /* ` */ + static WORLD_1 { 161 }/* non-US #1 */ + static WORLD_2 { 162 }/* non-US #2 */ + static ESCAPE { 256 } + static ENTER { 257 } + static TAB { 258 } + static BACKSPACE { 259 } + static INSERT { 260 } + static DELETE { 261 } + static RIGHT { 262 } + static LEFT { 263 } + static DOWN { 264 } + static UP { 265 } + static PAGE_UP { 266 } + static PAGE_DOWN { 267 } + static HOME { 268 } + static END { 269 } + static CAPS_LOCK { 280 } + static SCROLL_LOCK { 281 } + static NUM_LOCK { 282 } + static PRINT_SCREEN { 283 } + static PAUSE { 284 } + static F1 { 290 } + static F2 { 291 } + static F3 { 292 } + static F4 { 293 } + static F5 { 294 } + static F6 { 295 } + static F7 { 296 } + static F8 { 297 } + static F9 { 298 } + static F10 { 299 } + static F11 { 300 } + static F12 { 301 } + static F13 { 302 } + static F14 { 303 } + static F15 { 304 } + static F16 { 305 } + static F17 { 306 } + static F18 { 307 } + static F19 { 308 } + static F20 { 309 } + static F21 { 310 } + static F22 { 311 } + static F23 { 312 } + static F24 { 313 } + static F25 { 314 } + static KP_0 { 320 } + static KP_1 { 321 } + static KP_2 { 322 } + static KP_3 { 323 } + static KP_4 { 324 } + static KP_5 { 325 } + static KP_6 { 326 } + static KP_7 { 327 } + static KP_8 { 328 } + static KP_9 { 329 } + static KP_DECIMAL { 330 } + static KP_DIVIDE { 331 } + static KP_MULTIPLY { 332 } + static KP_SUBTRACT { 333 } + static KP_ADD { 334 } + static KP_ENTER { 335 } + static KP_EQUAL { 336 } + static LEFT_SHIFT { 340 } + static LEFT_CONTROL { 341 } + static LEFT_ALT { 342 } + static LEFT_SUPER { 343 } + static RIGHT_SHIFT { 344 } + static RIGHT_CONTROL { 345 } + static RIGHT_ALT { 346 } + static RIGHT_SUPER { 347 } + static MENU { 348 } +} + class Input { foreign static GetMouseX() foreign static GetMouseY() diff --git a/Nuake/src/Core/Input.h b/Nuake/src/Core/Input.h index 6b47073f..ffbfc5cf 100644 --- a/Nuake/src/Core/Input.h +++ b/Nuake/src/Core/Input.h @@ -7,6 +7,130 @@ struct GLFWwindow; namespace Nuake { + enum class Key + { + SPACE = 32, + APOSTROPHE = 39, /* ' */ + COMMA = 44, /* , */ + MINUS = 45, /* - */ + PERIOD = 46, /* . */ + SLASH = 47, /* / */ + NUM0 = 48, + NUM1 = 49, + NUM2 = 50, + NUM3 = 51, + NUM4 = 52, + NUM5 = 53, + NUM6 = 54, + NUM7 = 55, + NUM8 = 56, + NUM9 = 57, + SEMICOLON = 59, /* ; */ + EQUAL = 61, /* = */ + A = 65, + B = 66, + C = 67, + D = 68, + E = 69, + F = 70, + G = 71, + H = 72, + I = 73, + J = 74, + K = 75, + L = 76, + M = 77, + N = 78, + O = 79, + P = 80, + Q = 81, + R = 82, + S = 83, + T = 84, + U = 85, + V = 86, + W = 87, + X = 88, + Y = 89, + Z = 90, + LEFT_BRACKET = 91, /* [ */ + BACKSLASH = 92, /* \ */ + RIGHT_BRACKET = 93, /* ] */ + GRAVE_ACCENT = 96, /* ` */ + WORLD_1 = 161,/* non-US #1 */ + WORLD_2 = 162,/* non-US #2 */ + ESCAPE = 256, + ENTER = 257, + TAB = 258, + BACKSPACE = 259, + INSERT = 260, + DELETE = 261, + RIGHT = 262, + LEFT = 263, + DOWN = 264, + UP = 265, + PAGE_UP = 266, + PAGE_DOWN = 267, + HOME = 268, + END = 269, + CAPS_LOCK = 280, + SCROLL_LOCK = 281, + NUM_LOCK = 282, + PRINT_SCREEN = 283, + PAUSE = 284, + F1 = 290, + F2 = 291, + F3 = 292, + F4 = 293, + F5 = 294, + F6 = 295, + F7 = 296, + F8 = 297, + F9 = 298, + F10 = 299, + F11 = 300, + F12 = 301, + F13 = 302, + F14 = 303, + F15 = 304, + F16 = 305, + F17 = 306, + F18 = 307, + F19 = 308, + F20 = 309, + F21 = 310, + F22 = 311, + F23 = 312, + F24 = 313, + F25 = 314, + KP_0 = 320, + KP_1 = 321, + KP_2 = 322, + KP_3 = 323, + KP_4 = 324, + KP_5 = 325, + KP_6 = 326, + KP_7 = 327, + KP_8 = 328, + KP_9 = 329, + KP_DECIMAL = 330, + KP_DIVIDE = 331, + KP_MULTIPLY = 332, + KP_SUBTRACT = 333, + KP_ADD = 334, + KP_ENTER = 335, + KP_EQUAL = 336, + LEFT_SHIFT = 340, + LEFT_CONTROL = 341, + LEFT_ALT = 342, + LEFT_SUPER = 343, + RIGHT_SHIFT = 344, + RIGHT_CONTROL = 345, + RIGHT_ALT = 346, + RIGHT_SUPER = 347, + MENU = 348 + }; + class Input { private: