refactor(input_codes): fixed casing, values & add to_string

This commit is contained in:
light7734 2026-01-06 13:43:11 +03:30
parent 789e1e186f
commit 6f1bb9198a
Signed by: light7734
GPG key ID: 20A1BB5EBAB6C1E5

View file

@ -2,172 +2,288 @@ export module input.codes;
import std; import std;
export enum class Key: std::uint16_t { export enum class Key: std::uint16_t {
/* digits */ none = 0,
D0 = 48,
D1 = 49, left_mouse_button,
D2 = 50, right_mouse_button,
D3 = 51, middle_mouse_button,
D4 = 52,
D5 = 53, left_mouse = left_mouse_button,
D6 = 54, right_mouse = right_mouse_button,
D7 = 55, middle_mouse = middle_mouse_button,
D8 = 56,
D9 = 57, l_mouse = left_mouse_button,
Semicolon = 59, // ; r_mouse = right_mouse_button,
Equal = 61, // = m_mouse = middle_mouse_button,
backspace,
tab,
capslock,
enter,
space,
delete_,
shift,
left_shit = shift,
l_shift = shift,
right_shift,
r_shift = right_shift,
control,
left_control = control,
l_control = control,
ctrl = control,
left_ctrl = control,
l_ctrl = control,
right_control,
r_control = right_control,
right_ctrl = right_control,
r_ctrl = right_control,
alt,
left_alt = alt,
l_alt = alt,
right_alt,
r_alt = right_alt,
pageup,
pagedown,
home,
end,
left_arrow,
l_arrow = left_arrow,
up_arrow,
u_arrow = up_arrow,
right_arrow,
r_arrow = right_arrow,
down_arrow,
d_arrow = down_arrow,
cancel,
pause,
select,
print,
snapshot, // aka. print-screen
insert,
help,
sleep,
eep = sleep,
digit_0,
digit_1,
digit_2,
digit_3,
digit_4,
digit_5,
digit_6,
digit_7,
digit_8,
digit_9,
/* letters */ /* letters */
A = 65, a,
B = 66, b,
C = 67, c,
D = 68, d,
E = 69, e,
F = 70, f,
G = 71, g,
H = 72, h,
I = 73, i,
J = 74, j,
K = 75, k,
L = 76, l,
M = 77, m,
N = 78, n,
O = 79, o,
P = 80, p,
Q = 81, q,
R = 82, r,
S = 83, s,
t = 84, t,
U = 85, u,
V = 86, v,
W = 87, w,
X = 88, x,
Y = 89, y,
Z = 90, z,
/* brackets */ super,
LeftBracket = 91, // [ left_super = super,
LBracket = LeftBracket, // [ l_super = super,
RightBracket = 93, // ]
RBracket = RightBracket, // ]
/* arrow */ right_super,
Right = 262, r_super = right_super,
RightArrow = Right,
RArrow = Right,
Left = 263,
LeftArrow = Left,
LArrow = Left,
Down = 264,
DownArrow = Down,
DArrow = Down,
Up = 265,
UpArrow = Up,
UArrow = Up,
/* page */ kp_0,
PageUp = 266, kp_1,
PageDown = 267, kp_2,
kp_3,
/* home/end */ kp_4,
Home = 268, kp_5,
end = 269, kp_6,
kp_7,
/* toggles */ kp_8,
CapsLock = 280, kp_9,
ScrollLock = 281, kp_decimal,
NumLock = 282, kp_divide,
NumberLock = NumLock, kp_multiply,
kp_subtract,
kp_add,
kp_enter,
kp_equal,
/* function */ /* function */
F1 = 290, f1,
F2 = 291, f2,
F3 = 292, f3,
F4 = 293, f4,
F5 = 294, f5,
F6 = 295, f6,
F7 = 296, f7,
F8 = 297, f8,
F9 = 298, f9,
F10 = 299, f10,
F11 = 300, f11,
F12 = 301, f12,
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,
/* keypad */ unknown,
Kp0 = 320, };
Kp1 = 321,
Kp2 = 322, export [[nodiscard]] constexpr auto to_string(Key key) -> std::string
Kp3 = 323, {
Kp4 = 324, using enum Key;
Kp5 = 325, switch (key)
Kp6 = 326, {
Kp7 = 327, case none: return "<none>";
Kp8 = 328,
Kp9 = 329, /* mouse */
KpDecimal = 330, case left_mouse_button: return "left_mouse_button";
KpDivide = 331, case right_mouse_button: return "right_mouse_button";
KpMultiply = 332, case middle_mouse_button: return "middle_mouse_button";
KpSubstract = 333,
KpAdd = 334, /* editing / control */
KpEnter = 335, case backspace: return "backspace";
KpEqual = 336, case tab: return "tab";
case capslock: return "capslock";
case enter: return "enter";
case space: return "space";
case delete_: return "delete";
/* modifiers */ /* modifiers */
LeftShift = 340, case shift: return "shift";
LShift = LeftShift, case control: return "control";
LeftControl = 341, case right_control: return "right_control";
LControl = LeftControl, case alt: return "alt";
LeftAlt = 342, case right_alt: return "right_alt";
LAlt = LeftAlt,
LeftSuper = 343,
LSuper = LeftSuper,
RightShift = 344,
RShift = 344,
RightControl = 345,
RControl = 345,
RightAlt = 346,
RAlt = 346,
RightSuper = 347,
RSuper = 347,
/* misc */ /* navigation */
Space = 32, case pageup: return "pageup";
Apostrophe = 39, // ' case pagedown: return "pagedown";
Quote = Apostrophe, case home: return "home";
case end: return "end";
Comma = 44, // , case left_arrow: return "left_arrow";
Minus = 45, // - case up_arrow: return "up_arrow";
Period = 46, // . case right_arrow: return "right_arrow";
Slash = 47, // / case down_arrow: return "down_arrow";
ForwardSlash = Slash, // /
BackSlash = 92, // \
GraveAccent = 96, // ` /* system */
Console = GraveAccent, case cancel: return "cancel";
World1 = 161, // non-US #1 case pause: return "pause";
World2 = 162, // non-US #2 case select: return "select";
Escape = 256, case print: return "print";
Esc = Escape, case snapshot: return "snapshot";
Enter = 257, case insert: return "insert";
Tab = 258, case help: return "help";
BackSpace = 259, case sleep: return "sleep";
Insert = 260,
Delete = 261,
PrintScreen = 283, /* digits */
Pause = 284, case digit_0: return "0";
case digit_1: return "1";
case digit_2: return "2";
case digit_3: return "3";
case digit_4: return "4";
case digit_5: return "5";
case digit_6: return "6";
case digit_7: return "7";
case digit_8: return "8";
case digit_9: return "9";
Menu = 348, /* letters */
}; case a: return "a";
case b: return "b";
case c: return "c";
case d: return "d";
case e: return "e";
case f: return "f";
case g: return "g";
case h: return "h";
case i: return "i";
case j: return "j";
case k: return "k";
case l: return "l";
case m: return "m";
case n: return "n";
case o: return "o";
case p: return "p";
case q: return "q";
case r: return "r";
case s: return "s";
case t: return "t";
case u: return "u";
case v: return "v";
case w: return "w";
case x: return "x";
case y: return "y";
case z: return "z";
/* super / meta */
case super: return "super";
case right_super: return "right_super";
/* keypad */
case kp_0: return "kp_0";
case kp_1: return "kp_1";
case kp_2: return "kp_2";
case kp_3: return "kp_3";
case kp_4: return "kp_4";
case kp_5: return "kp_5";
case kp_6: return "kp_6";
case kp_7: return "kp_7";
case kp_8: return "kp_8";
case kp_9: return "kp_9";
case kp_decimal: return "kp_decimal";
case kp_divide: return "kp_divide";
case kp_multiply: return "kp_multiply";
case kp_subtract: return "kp_subtract";
case kp_add: return "kp_add";
case kp_enter: return "kp_enter";
case kp_equal: return "kp_equal";
/* function keys */
case f1: return "f1";
case f2: return "f2";
case f3: return "f3";
case f4: return "f4";
case f5: return "f5";
case f6: return "f6";
case f7: return "f7";
case f8: return "f8";
case f9: return "f9";
case f10: return "f10";
case f11: return "f11";
case f12: return "f12";
case unknown: return "<unknown>";
}
return "<invalid>";
}