diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-02-01 23:32:55 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-02-01 23:32:55 +0100 |
| commit | 8062afc25e895cb49e76f6e26e51a7d4a1ad2df2 (patch) | |
| tree | f64e6522a84a8f58912b9e58a66c187fbcaadd78 /lib/nes/app/input/key.hh | |
| parent | bf88e17d552d85cd18bc31757ef9d73049b327c4 (diff) | |
revamp input system
Diffstat (limited to 'lib/nes/app/input/key.hh')
| -rw-r--r-- | lib/nes/app/input/key.hh | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/lib/nes/app/input/key.hh b/lib/nes/app/input/key.hh new file mode 100644 index 0000000..3156e65 --- /dev/null +++ b/lib/nes/app/input/key.hh @@ -0,0 +1,90 @@ +#pragma once + +#include "nes/common/types.hh" + +namespace nes::app +{ + class modifier_mask; + + enum class key + { + digit_0, + digit_1, + digit_2, + digit_3, + digit_4, + digit_5, + digit_6, + digit_7, + digit_8, + digit_9, + letter_a, + letter_b, + letter_c, + letter_d, + letter_e, + letter_f, + letter_g, + letter_h, + letter_i, + letter_j, + letter_k, + letter_l, + letter_m, + letter_n, + letter_o, + letter_p, + letter_q, + letter_r, + letter_s, + letter_t, + letter_u, + letter_v, + letter_w, + letter_x, + letter_y, + letter_z, + escape, + dash, + equal, + backspace, + tab, + enter, + semicolon, + apostrophe, + backslash, + comma, + period, + slash, + space, + caps_lock, + bracket_open, + bracket_close, + control_left, + control_right, + shift_left, + shift_right, + alt_left, + alt_right, + arrow_left, + arrow_right, + arrow_up, + arrow_down, + f1, + f2, + f3, + f4, + f5, + f6, + f7, + f8, + f9, + f10, + f11, + f12, + }; + + inline constexpr auto key_count = static_cast<u32>(key::f12) + 1; + + auto to_ascii(key, modifier_mask) -> char; +} // namespace nes::app
\ No newline at end of file |
