From 7db8486f1ed3dc7424637427efafc0f1baab6214 Mon Sep 17 00:00:00 2001 From: Karutoh Date: Wed, 13 Aug 2025 21:31:57 -0700 Subject: [PATCH] Fixed Button dll input/output. --- include/ehs/io/hid/HID.h | 2 + include/ehs/io/hid/Keyboard.h | 172 +++++++++++++++++----------------- include/ehs/io/hid/Mouse.h | 24 ++--- src/io/hid/Keyboard.cpp | 87 ----------------- src/io/hid/Mouse.cpp | 13 --- 5 files changed, 100 insertions(+), 198 deletions(-) diff --git a/include/ehs/io/hid/HID.h b/include/ehs/io/hid/HID.h index 757cc7f..15b2fbc 100644 --- a/include/ehs/io/hid/HID.h +++ b/include/ehs/io/hid/HID.h @@ -21,6 +21,8 @@ namespace ehs bool active; public: + virtual ~HID() = default; + HID(); HID(UInt_8 type, Str_8 name, UInt_64 id); diff --git a/include/ehs/io/hid/Keyboard.h b/include/ehs/io/hid/Keyboard.h index 6f8179f..0b15d4d 100644 --- a/include/ehs/io/hid/Keyboard.h +++ b/include/ehs/io/hid/Keyboard.h @@ -27,92 +27,92 @@ namespace ehs Keyboard* Clone() const override; - static const Button Unknown; - static const Button Escape; - static const Button Backspace; - static const Button Enter; - static const Button LShift; - static const Button RShift; - static const Button LAlt; - static const Button RAlt; - static const Button LCtrl; - static const Button RCtrl; - static const Button Space; - static const Button A; - static const Button B; - static const Button C; - static const Button D; - static const Button E; - static const Button F; - static const Button G; - static const Button H; - static const Button I; - static const Button J; - static const Button K; - static const Button L; - static const Button M; - static const Button N; - static const Button O; - static const Button P; - static const Button Q; - static const Button R; - static const Button S; - static const Button T; - static const Button U; - static const Button V; - static const Button W; - static const Button X; - static const Button Y; - static const Button Z; - static const Button One; - static const Button Two; - static const Button Three; - static const Button Four; - static const Button Five; - static const Button Six; - static const Button Seven; - static const Button Eight; - static const Button Nine; - static const Button Zero; - static const Button Minus; - static const Button Equals; - static const Button Tilde; - static const Button BackSlash; - static const Button LeftSquareBracket; - static const Button RightSquareBracket; - static const Button SemiColon; - static const Button Apostrophe; - static const Button Comma; - static const Button Period; - static const Button ForwardSlash; - static const Button F1; - static const Button F2; - static const Button F3; - static const Button F4; - static const Button F5; - static const Button F6; - static const Button F7; - static const Button F8; - static const Button F9; - static const Button F10; - static const Button F11; - static const Button F12; - static const Button F13; - static const Button F14; - static const Button F15; - static const Button F16; - static const Button F17; - static const Button F18; - static const Button F19; - static const Button F20; - static const Button F21; - static const Button F22; - static const Button F23; - static const Button F24; - static const Button Left; - static const Button Right; - static const Button Up; - static const Button Down; + static inline const Button Unknown = Button("Unknown"); + static inline const Button Escape = Button("Escape Button"); + static inline const Button Backspace = Button("Backspace Button"); + static inline const Button Enter = Button("Enter Button"); + static inline const Button LShift = Button("Left Shift Button"); + static inline const Button RShift = Button("Right Shift Button"); + static inline const Button LAlt = Button("Left Alt Button"); + static inline const Button RAlt = Button("Right Alt Button"); + static inline const Button LCtrl = Button("Left Control Button"); + static inline const Button RCtrl = Button("Right Button"); + static inline const Button Space = Button("Space Button"); + static inline const Button A = Button("A Button"); + static inline const Button B = Button("B Button"); + static inline const Button C = Button("C Button"); + static inline const Button D = Button("D Button"); + static inline const Button E = Button("E Button"); + static inline const Button F = Button("F Button"); + static inline const Button G = Button("G Button"); + static inline const Button H = Button("H Button"); + static inline const Button I = Button("I Button"); + static inline const Button J = Button("J Button"); + static inline const Button K = Button("K Button"); + static inline const Button L = Button("L Button"); + static inline const Button M = Button("M Button"); + static inline const Button N = Button("N Button"); + static inline const Button O = Button("O Button"); + static inline const Button P = Button("P Button"); + static inline const Button Q = Button("Q Button"); + static inline const Button R = Button("R Button"); + static inline const Button S = Button("S Button"); + static inline const Button T = Button("T Button"); + static inline const Button U = Button("U Button"); + static inline const Button V = Button("V Button"); + static inline const Button W = Button("W Button"); + static inline const Button X = Button("X Button"); + static inline const Button Y = Button("Y Button"); + static inline const Button Z = Button("Z Button"); + static inline const Button One = Button("One Button"); + static inline const Button Two = Button("Two Button"); + static inline const Button Three = Button("Three Button"); + static inline const Button Four = Button("Four Button"); + static inline const Button Five = Button("Five Button"); + static inline const Button Six = Button("Six Button"); + static inline const Button Seven = Button("Seven Button"); + static inline const Button Eight = Button("Eight Button"); + static inline const Button Nine = Button("Nine Button"); + static inline const Button Zero = Button("Zero Button"); + static inline const Button Minus = Button("Minus Button"); + static inline const Button Equals = Button("Equals Button"); + static inline const Button Tilde = Button("Tilde Button"); + static inline const Button BackSlash = Button("Back Slash Button"); + static inline const Button LeftSquareBracket = Button("Left Square Bracket Button"); + static inline const Button RightSquareBracket = Button("Right Square Bracket Button"); + static inline const Button SemiColon = Button("Semi Colon Button"); + static inline const Button Apostrophe = Button("Apostrophe Button"); + static inline const Button Comma = Button("Comma Button"); + static inline const Button Period = Button("Period Button"); + static inline const Button ForwardSlash = Button("Forward Slash Button"); + static inline const Button F1 = Button("Function One Button"); + static inline const Button F2 = Button("Function Two Button"); + static inline const Button F3 = Button("Function Three Button"); + static inline const Button F4 = Button("Function Four Button"); + static inline const Button F5 = Button("Function Five Button"); + static inline const Button F6 = Button("Function Six Button"); + static inline const Button F7 = Button("Function Seven Button"); + static inline const Button F8 = Button("Function Eight Button"); + static inline const Button F9 = Button("Function Nine Button"); + static inline const Button F10 = Button("Function Ten Button"); + static inline const Button F11 = Button("Function Eleven Button"); + static inline const Button F12 = Button("Function Twelve Button"); + static inline const Button F13 = Button("Function Thirteen Button"); + static inline const Button F14 = Button("Function Fourteen Button"); + static inline const Button F15 = Button("Function Fifteen Button"); + static inline const Button F16 = Button("Function Sixteen Button"); + static inline const Button F17 = Button("Function Seventeen Button"); + static inline const Button F18 = Button("Function Eighteen Button"); + static inline const Button F19 = Button("Function Nineteen Button"); + static inline const Button F20 = Button("Function Twenty Button"); + static inline const Button F21 = Button("Function Twenty One Button"); + static inline const Button F22 = Button("Function Twenty Two Button"); + static inline const Button F23 = Button("Function Twenty Three Button"); + static inline const Button F24 = Button("Function Twenty Four Button"); + static inline const Button Left = Button("Left Button"); + static inline const Button Right = Button("Right Button"); + static inline const Button Up = Button("Up Button"); + static inline const Button Down = Button("Down Button"); static Button TranslateScanCode(UInt_32 code); diff --git a/include/ehs/io/hid/Mouse.h b/include/ehs/io/hid/Mouse.h index ec2176a..a404da5 100644 --- a/include/ehs/io/hid/Mouse.h +++ b/include/ehs/io/hid/Mouse.h @@ -37,18 +37,18 @@ namespace ehs Mouse* Clone() const override; - static const Button Unknown; - static const Button LMB; - static const Button MMB; - static const Button RMB; - static const Button Four; - static const Button Five; - static const Button ScrollUp; - static const Button ScrollDown; - static const Button ScrollLeft; - static const Button ScrollRight; - static const Button Back; - static const Button Forward; + static inline const Button Unknown = Button("Unknown Button"); + static inline const Button LMB = Button("Left Mouse Button"); + static inline const Button MMB = Button("Middle Mouse Button"); + static inline const Button RMB = Button("Right Mouse Button"); + static inline const Button Four = Button("Four Button"); + static inline const Button Five = Button("Five Button"); + static inline const Button ScrollUp = Button("Scroll Up Button"); + static inline const Button ScrollDown = Button("Scroll Down Button"); + static inline const Button ScrollLeft = Button("Scroll Left Button"); + static inline const Button ScrollRight = Button("Scroll Right Button"); + static inline const Button Back = Button("Back Button"); + static inline const Button Forward = Button("Forward Button"); static Button TranslateXCB(const UInt_32 code); }; diff --git a/src/io/hid/Keyboard.cpp b/src/io/hid/Keyboard.cpp index 619caa0..2ce1f2b 100644 --- a/src/io/hid/Keyboard.cpp +++ b/src/io/hid/Keyboard.cpp @@ -36,93 +36,6 @@ namespace ehs return new Keyboard(*this); } - const Button Keyboard::Unknown("Unknown"); - const Button Keyboard::Escape("Escape Button"); - const Button Keyboard::Backspace("Backspace Button"); - const Button Keyboard::Enter("Enter Button"); - const Button Keyboard::LShift("Left Shift Button"); - const Button Keyboard::RShift("Right Shift Button"); - const Button Keyboard::LAlt("Left Alt Button"); - const Button Keyboard::RAlt("Right Alt Button"); - const Button Keyboard::LCtrl("Left Control Button"); - const Button Keyboard::RCtrl("Right Control Button"); - const Button Keyboard::Space("Space Button"); - const Button Keyboard::A("A Button"); - const Button Keyboard::B("B Button"); - const Button Keyboard::C("C Button"); - const Button Keyboard::D("D Button"); - const Button Keyboard::E("E Button"); - const Button Keyboard::F("F Button"); - const Button Keyboard::G("G Button"); - const Button Keyboard::H("H Button"); - const Button Keyboard::I("I Button"); - const Button Keyboard::J("J Button"); - const Button Keyboard::K("K Button"); - const Button Keyboard::L("L Button"); - const Button Keyboard::M("M Button"); - const Button Keyboard::N("N Button"); - const Button Keyboard::O("O Button"); - const Button Keyboard::P("P Button"); - const Button Keyboard::Q("Q Button"); - const Button Keyboard::R("R Button"); - const Button Keyboard::S("S Button"); - const Button Keyboard::T("T Button"); - const Button Keyboard::U("U Button"); - const Button Keyboard::V("V Button"); - const Button Keyboard::W("W Button"); - const Button Keyboard::X("X Button"); - const Button Keyboard::Y("Y Button"); - const Button Keyboard::Z("Z Button"); - const Button Keyboard::One("One Button"); - const Button Keyboard::Two("Two Button"); - const Button Keyboard::Three("Three Button"); - const Button Keyboard::Four("Four Button"); - const Button Keyboard::Five("Five Button"); - const Button Keyboard::Six("Six Button"); - const Button Keyboard::Seven("Seven Button"); - const Button Keyboard::Eight("Eight Button"); - const Button Keyboard::Nine("Nine Button"); - const Button Keyboard::Zero("Zero Button"); - const Button Keyboard::Equals("Equals Button"); - const Button Keyboard::Minus("Minus Button"); - const Button Keyboard::Tilde("Tilde Button"); - const Button Keyboard::BackSlash("Back Slash Button"); - const Button Keyboard::LeftSquareBracket("Left Square Bracket Button"); - const Button Keyboard::RightSquareBracket("Right Square Bracket Button"); - const Button Keyboard::SemiColon("Semi-Colon Button"); - const Button Keyboard::Apostrophe("Apostrophe Button"); - const Button Keyboard::Comma("Comma Button"); - const Button Keyboard::Period("Period Button"); - const Button Keyboard::ForwardSlash("Forward Slash Button"); - const Button Keyboard::F1("Function 1 Button"); - const Button Keyboard::F2("Function 2 Button"); - const Button Keyboard::F3("Function 3 Button"); - const Button Keyboard::F4("Function 4 Button"); - const Button Keyboard::F5("Function 5 Button"); - const Button Keyboard::F6("Function 6 Button"); - const Button Keyboard::F7("Function 7 Button"); - const Button Keyboard::F8("Function 8 Button"); - const Button Keyboard::F9("Function 9 Button"); - const Button Keyboard::F10("Function 10 Button"); - const Button Keyboard::F11("Function 11 Button"); - const Button Keyboard::F12("Function 12 Button"); - const Button Keyboard::F13("Function 13 Button"); - const Button Keyboard::F14("Function 14 Button"); - const Button Keyboard::F15("Function 15 Button"); - const Button Keyboard::F16("Function 16 Button"); - const Button Keyboard::F17("Function 17 Button"); - const Button Keyboard::F18("Function 18 Button"); - const Button Keyboard::F19("Function 19 Button"); - const Button Keyboard::F20("Function 20 Button"); - const Button Keyboard::F21("Function 21 Button"); - const Button Keyboard::F22("Function 22 Button"); - const Button Keyboard::F23("Function 23 Button"); - const Button Keyboard::F24("Function 24 Button"); - const Button Keyboard::Left("Left Arrow Button"); - const Button Keyboard::Right("Right Arrow Button"); - const Button Keyboard::Up("Up Arrow Button"); - const Button Keyboard::Down("Down Arrow Button"); - Button Keyboard::TranslateScanCode(const UInt_32 code) { switch (code) diff --git a/src/io/hid/Mouse.cpp b/src/io/hid/Mouse.cpp index aa9ca0d..4542a2f 100644 --- a/src/io/hid/Mouse.cpp +++ b/src/io/hid/Mouse.cpp @@ -50,19 +50,6 @@ namespace ehs return new Mouse(*this); } - const Button Mouse::Unknown("Unknown"); - const Button Mouse::LMB("Left Mouse Button"); - const Button Mouse::MMB("Middle Mouse Button"); - const Button Mouse::RMB("Right Mouse Button"); - const Button Mouse::Four("Mouse Button Four"); - const Button Mouse::Five("Mouse Button Five"); - const Button Mouse::ScrollUp("Scroll Up"); - const Button Mouse::ScrollDown("Scroll Down"); - const Button Mouse::ScrollLeft("Scroll Left"); - const Button Mouse::ScrollRight("Scroll Right"); - const Button Mouse::Back("Back Mouse Button"); - const Button Mouse::Forward("Forward Mouse Button"); - Button Mouse::TranslateXCB(const UInt_32 code) { switch (code)