[nostalgia/core] Add key event handler

This commit is contained in:
2022-03-20 01:42:08 -05:00
parent 2223fe7863
commit ea318bb6c8
5 changed files with 120 additions and 24 deletions
+55 -10
View File
@@ -8,16 +8,59 @@ namespace nostalgia::core {
enum Key {
// GBA implementation currently relies on GamePad entry order
GamePad_A = 1,
GamePad_B = 2,
GamePad_Select = 4,
GamePad_Start = 8,
GamePad_Right = 16,
GamePad_Left = 32,
GamePad_Up = 64,
GamePad_Down = 128,
GamePad_R = 256,
GamePad_L = 512,
GamePad_A = 1,
GamePad_B,
GamePad_Select,
GamePad_Start,
GamePad_Right,
GamePad_Left,
GamePad_Up,
GamePad_Down,
GamePad_R,
GamePad_L,
Num_0,
Num_1,
Num_2,
Num_3,
Num_4,
Num_5,
Num_6,
Num_7,
Num_8,
Num_9,
Alpha_A,
Alpha_B,
Alpha_C,
Alpha_D,
Alpha_E,
Alpha_F,
Alpha_G,
Alpha_H,
Alpha_I,
Alpha_J,
Alpha_K,
Alpha_L,
Alpha_M,
Alpha_N,
Alpha_O,
Alpha_P,
Alpha_Q,
Alpha_R,
Alpha_S,
Alpha_T,
Alpha_U,
Alpha_V,
Alpha_W,
Alpha_X,
Alpha_Y,
Alpha_Z,
Mod_Ctrl,
Mod_Shift,
End
};
class Context;
@@ -25,4 +68,6 @@ class Context;
[[nodiscard]]
bool buttonDown(Context *ctx, Key) noexcept;
using KeyEventHandler = void(*)(Context*, Key, bool);
}