5 Commits

Author SHA1 Message Date
a6eb7f6e97 Merge pull request 'NetChannels' (#20) from NetChannels into main
Reviewed-on: #20
2025-08-13 19:32:54 -07:00
fd452f6643 Merge pull request 'NetChannels' (#19) from NetChannels into main
Reviewed-on: #19
2025-03-28 23:11:54 -07:00
389fa61fba Merge pull request 'Fixed gitea workflow.' (#18) from NetChannels into main
Some checks failed
Build & Release / Windows-AMD64-Build (push) Failing after 21s
Build & Release / Linux-AARCH64-Build (push) Successful in 43m31s
Build & Release / Linux-AMD64-Build (push) Successful in 15m15s
Reviewed-on: #18
2025-03-25 18:43:47 -07:00
a67197766e Merge pull request 'Fixed gitea workflow.' (#17) from NetChannels into main
Some checks failed
Build & Release / Windows-AMD64-Build (push) Failing after 25s
Build & Release / Linux-AMD64-Build (push) Failing after 11m42s
Build & Release / Linux-AARCH64-Build (push) Successful in 43m39s
Reviewed-on: #17
2025-03-25 18:37:27 -07:00
ae414c5c99 Merge pull request 'Added CPU::GetCacheLineSize() definition for Windows.' (#16) from NetChannels into main
Reviewed-on: #16
2025-03-25 16:50:40 -07:00
8 changed files with 219 additions and 121 deletions

View File

@@ -21,8 +21,6 @@ namespace ehs
bool active; bool active;
public: public:
virtual ~HID() = default;
HID(); HID();
HID(UInt_8 type, Str_8 name, UInt_64 id); HID(UInt_8 type, Str_8 name, UInt_64 id);

View File

@@ -10,7 +10,7 @@ namespace ehs
{ {
private: private:
Array<InputHandler*> handlers; Array<InputHandler*> handlers;
bool initialized; bool initalized;
public: public:
~Input(); ~Input();
@@ -31,13 +31,13 @@ namespace ehs
void Poll(); void Poll();
bool HasHandler(UInt_64 hashId) const; bool HasHandler(const UInt_64 hashId) const;
bool HasHandler(const Str_8& id) const; bool HasHandler(const Str_8& id) const;
bool AddHandler(InputHandler* handler); bool AddHandler(InputHandler* handler);
const InputHandler* GetHandler(UInt_64 hashId) const; const InputHandler* GetHandler(const UInt_64 hashId) const;
const InputHandler* GetHandler(const Str_8& id) const; const InputHandler* GetHandler(const Str_8& id) const;

View File

@@ -31,9 +31,9 @@ namespace ehs
InputHandler& operator=(const InputHandler& ih); InputHandler& operator=(const InputHandler& ih);
bool operator==(UInt_64 otherHashId) const; bool operator==(const UInt_64 otherHashId) const;
bool operator!=(UInt_64 otherHashId) const; bool operator!=(const UInt_64 otherHashId) const;
virtual bool Initialize(); virtual bool Initialize();
@@ -47,13 +47,13 @@ namespace ehs
void ResetAllStates(); void ResetAllStates();
bool HasDevice(UInt_64 id) const; bool HasDevice(const UInt_64 id) const;
bool AddDevice(HID* device); bool AddDevice(HID* device);
HID* GetDevice(UInt_64 id) const; HID* GetDevice(const UInt_64 id) const;
HID* GetDeviceByType(UInt_8 type) const; HID* GetDeviceByType(const UInt_8 type) const;
virtual bool IsInitialized() const; virtual bool IsInitialized() const;
}; };

View File

@@ -27,92 +27,92 @@ namespace ehs
Keyboard* Clone() const override; Keyboard* Clone() const override;
static inline const Button Unknown = Button("Unknown"); static const Button Unknown;
static inline const Button Escape = Button("Escape Button"); static const Button Escape;
static inline const Button Backspace = Button("Backspace Button"); static const Button Backspace;
static inline const Button Enter = Button("Enter Button"); static const Button Enter;
static inline const Button LShift = Button("Left Shift Button"); static const Button LShift;
static inline const Button RShift = Button("Right Shift Button"); static const Button RShift;
static inline const Button LAlt = Button("Left Alt Button"); static const Button LAlt;
static inline const Button RAlt = Button("Right Alt Button"); static const Button RAlt;
static inline const Button LCtrl = Button("Left Control Button"); static const Button LCtrl;
static inline const Button RCtrl = Button("Right Button"); static const Button RCtrl;
static inline const Button Space = Button("Space Button"); static const Button Space;
static inline const Button A = Button("A Button"); static const Button A;
static inline const Button B = Button("B Button"); static const Button B;
static inline const Button C = Button("C Button"); static const Button C;
static inline const Button D = Button("D Button"); static const Button D;
static inline const Button E = Button("E Button"); static const Button E;
static inline const Button F = Button("F Button"); static const Button F;
static inline const Button G = Button("G Button"); static const Button G;
static inline const Button H = Button("H Button"); static const Button H;
static inline const Button I = Button("I Button"); static const Button I;
static inline const Button J = Button("J Button"); static const Button J;
static inline const Button K = Button("K Button"); static const Button K;
static inline const Button L = Button("L Button"); static const Button L;
static inline const Button M = Button("M Button"); static const Button M;
static inline const Button N = Button("N Button"); static const Button N;
static inline const Button O = Button("O Button"); static const Button O;
static inline const Button P = Button("P Button"); static const Button P;
static inline const Button Q = Button("Q Button"); static const Button Q;
static inline const Button R = Button("R Button"); static const Button R;
static inline const Button S = Button("S Button"); static const Button S;
static inline const Button T = Button("T Button"); static const Button T;
static inline const Button U = Button("U Button"); static const Button U;
static inline const Button V = Button("V Button"); static const Button V;
static inline const Button W = Button("W Button"); static const Button W;
static inline const Button X = Button("X Button"); static const Button X;
static inline const Button Y = Button("Y Button"); static const Button Y;
static inline const Button Z = Button("Z Button"); static const Button Z;
static inline const Button One = Button("One Button"); static const Button One;
static inline const Button Two = Button("Two Button"); static const Button Two;
static inline const Button Three = Button("Three Button"); static const Button Three;
static inline const Button Four = Button("Four Button"); static const Button Four;
static inline const Button Five = Button("Five Button"); static const Button Five;
static inline const Button Six = Button("Six Button"); static const Button Six;
static inline const Button Seven = Button("Seven Button"); static const Button Seven;
static inline const Button Eight = Button("Eight Button"); static const Button Eight;
static inline const Button Nine = Button("Nine Button"); static const Button Nine;
static inline const Button Zero = Button("Zero Button"); static const Button Zero;
static inline const Button Minus = Button("Minus Button"); static const Button Minus;
static inline const Button Equals = Button("Equals Button"); static const Button Equals;
static inline const Button Tilde = Button("Tilde Button"); static const Button Tilde;
static inline const Button BackSlash = Button("Back Slash Button"); static const Button BackSlash;
static inline const Button LeftSquareBracket = Button("Left Square Bracket Button"); static const Button LeftSquareBracket;
static inline const Button RightSquareBracket = Button("Right Square Bracket Button"); static const Button RightSquareBracket;
static inline const Button SemiColon = Button("Semi Colon Button"); static const Button SemiColon;
static inline const Button Apostrophe = Button("Apostrophe Button"); static const Button Apostrophe;
static inline const Button Comma = Button("Comma Button"); static const Button Comma;
static inline const Button Period = Button("Period Button"); static const Button Period;
static inline const Button ForwardSlash = Button("Forward Slash Button"); static const Button ForwardSlash;
static inline const Button F1 = Button("Function One Button"); static const Button F1;
static inline const Button F2 = Button("Function Two Button"); static const Button F2;
static inline const Button F3 = Button("Function Three Button"); static const Button F3;
static inline const Button F4 = Button("Function Four Button"); static const Button F4;
static inline const Button F5 = Button("Function Five Button"); static const Button F5;
static inline const Button F6 = Button("Function Six Button"); static const Button F6;
static inline const Button F7 = Button("Function Seven Button"); static const Button F7;
static inline const Button F8 = Button("Function Eight Button"); static const Button F8;
static inline const Button F9 = Button("Function Nine Button"); static const Button F9;
static inline const Button F10 = Button("Function Ten Button"); static const Button F10;
static inline const Button F11 = Button("Function Eleven Button"); static const Button F11;
static inline const Button F12 = Button("Function Twelve Button"); static const Button F12;
static inline const Button F13 = Button("Function Thirteen Button"); static const Button F13;
static inline const Button F14 = Button("Function Fourteen Button"); static const Button F14;
static inline const Button F15 = Button("Function Fifteen Button"); static const Button F15;
static inline const Button F16 = Button("Function Sixteen Button"); static const Button F16;
static inline const Button F17 = Button("Function Seventeen Button"); static const Button F17;
static inline const Button F18 = Button("Function Eighteen Button"); static const Button F18;
static inline const Button F19 = Button("Function Nineteen Button"); static const Button F19;
static inline const Button F20 = Button("Function Twenty Button"); static const Button F20;
static inline const Button F21 = Button("Function Twenty One Button"); static const Button F21;
static inline const Button F22 = Button("Function Twenty Two Button"); static const Button F22;
static inline const Button F23 = Button("Function Twenty Three Button"); static const Button F23;
static inline const Button F24 = Button("Function Twenty Four Button"); static const Button F24;
static inline const Button Left = Button("Left Button"); static const Button Left;
static inline const Button Right = Button("Right Button"); static const Button Right;
static inline const Button Up = Button("Up Button"); static const Button Up;
static inline const Button Down = Button("Down Button"); static const Button Down;
static Button TranslateScanCode(UInt_32 code); static Button TranslateScanCode(UInt_32 code);

View File

@@ -37,18 +37,18 @@ namespace ehs
Mouse* Clone() const override; Mouse* Clone() const override;
static inline const Button Unknown = Button("Unknown Button"); static const Button Unknown;
static inline const Button LMB = Button("Left Mouse Button"); static const Button LMB;
static inline const Button MMB = Button("Middle Mouse Button"); static const Button MMB;
static inline const Button RMB = Button("Right Mouse Button"); static const Button RMB;
static inline const Button Four = Button("Four Button"); static const Button Four;
static inline const Button Five = Button("Five Button"); static const Button Five;
static inline const Button ScrollUp = Button("Scroll Up Button"); static const Button ScrollUp;
static inline const Button ScrollDown = Button("Scroll Down Button"); static const Button ScrollDown;
static inline const Button ScrollLeft = Button("Scroll Left Button"); static const Button ScrollLeft;
static inline const Button ScrollRight = Button("Scroll Right Button"); static const Button ScrollRight;
static inline const Button Back = Button("Back Button"); static const Button Back;
static inline const Button Forward = Button("Forward Button"); static const Button Forward;
static Button TranslateXCB(const UInt_32 code); static Button TranslateXCB(const UInt_32 code);
}; };

View File

@@ -9,18 +9,18 @@ namespace ehs
} }
Input::Input() Input::Input()
: initialized(false) : initalized(false)
{ {
} }
Input::Input(Input&& input) noexcept Input::Input(Input&& input) noexcept
: handlers((Array<InputHandler*>&&)input.handlers), initialized(input.initialized) : handlers((Array<InputHandler*>&&)input.handlers), initalized(input.initalized)
{ {
input.initialized = false; input.initalized = false;
} }
Input::Input(const Input& input) Input::Input(const Input& input)
: initialized(false) : initalized(false)
{ {
} }
@@ -30,9 +30,9 @@ namespace ehs
return *this; return *this;
handlers = (Array<InputHandler*>&&)input.handlers; handlers = (Array<InputHandler*>&&)input.handlers;
initialized = input.initialized; initalized = input.initalized;
input.initialized = false; input.initalized = false;
return *this; return *this;
} }
@@ -46,14 +46,14 @@ namespace ehs
delete handlers; delete handlers;
handlers = Array<InputHandler*>(); handlers = Array<InputHandler*>();
initialized = false; initalized = false;
return *this; return *this;
} }
void Input::Initialize() void Input::Initialize()
{ {
if (initialized) if (initalized)
return; return;
UInt_64 i = 0; UInt_64 i = 0;
@@ -72,12 +72,12 @@ namespace ehs
i++; i++;
} }
initialized = true; initalized = true;
} }
void Input::Release() void Input::Release()
{ {
if (!initialized) if (!initalized)
return; return;
UInt_64 i = 0; UInt_64 i = 0;
@@ -96,7 +96,7 @@ namespace ehs
i++; i++;
} }
initialized = false; initalized = false;
} }
void Input::Poll() void Input::Poll()
@@ -124,7 +124,7 @@ namespace ehs
if (HasHandler(handler->GetHashId())) if (HasHandler(handler->GetHashId()))
return false; return false;
if (initialized) if (initalized)
{ {
bool hInitialized = handler->Initialize(); bool hInitialized = handler->Initialize();
if (!hInitialized) if (!hInitialized)
@@ -155,6 +155,6 @@ namespace ehs
bool Input::IsInitialized() const bool Input::IsInitialized() const
{ {
return initialized; return initalized;
} }
} }

View File

@@ -36,6 +36,93 @@ namespace ehs
return new Keyboard(*this); 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) Button Keyboard::TranslateScanCode(const UInt_32 code)
{ {
switch (code) switch (code)

View File

@@ -50,6 +50,19 @@ namespace ehs
return new Mouse(*this); 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) Button Mouse::TranslateXCB(const UInt_32 code)
{ {
switch (code) switch (code)