diff options
author | Fernando S <fsahmkow27@gmail.com> | 2021-11-27 11:52:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-27 11:52:08 +0100 |
commit | 564f10527745f870621c08bbb5d16badee0ed861 (patch) | |
tree | e8ac8dee60086facf1837393882865f5df18c95e /src/core/hid/input_interpreter.h | |
parent | Merge pull request #7431 from liushuyu/fix-linux-decoding (diff) | |
parent | config: Remove vibration configuration (diff) | |
download | yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar.gz yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar.bz2 yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar.lz yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar.xz yuzu-564f10527745f870621c08bbb5d16badee0ed861.tar.zst yuzu-564f10527745f870621c08bbb5d16badee0ed861.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hid/input_interpreter.h (renamed from src/core/frontend/input_interpreter.h) | 54 |
1 files changed, 11 insertions, 43 deletions
diff --git a/src/core/frontend/input_interpreter.h b/src/core/hid/input_interpreter.h index 9495e3daf..1c2e02142 100644 --- a/src/core/frontend/input_interpreter.h +++ b/src/core/hid/input_interpreter.h @@ -12,46 +12,14 @@ namespace Core { class System; } +namespace Core::HID { +enum class NpadButton : u64; +} + namespace Service::HID { class Controller_NPad; } -enum class HIDButton : u8 { - A, - B, - X, - Y, - LStick, - RStick, - L, - R, - ZL, - ZR, - Plus, - Minus, - - DLeft, - DUp, - DRight, - DDown, - - LStickLeft, - LStickUp, - LStickRight, - LStickDown, - - RStickLeft, - RStickUp, - RStickRight, - RStickDown, - - LeftSL, - LeftSR, - - RightSL, - RightSR, -}; - /** * The InputInterpreter class interfaces with HID to retrieve button press states. * Input is intended to be polled every 50ms so that a button is considered to be @@ -76,7 +44,7 @@ public: * * @returns True when the button is pressed. */ - [[nodiscard]] bool IsButtonPressed(HIDButton button) const; + [[nodiscard]] bool IsButtonPressed(Core::HID::NpadButton button) const; /** * Checks whether any of the buttons in the parameter list is pressed. @@ -85,7 +53,7 @@ public: * * @returns True when at least one of the buttons is pressed. */ - template <HIDButton... T> + template <Core::HID::NpadButton... T> [[nodiscard]] bool IsAnyButtonPressed() { return (IsButtonPressed(T) || ...); } @@ -98,7 +66,7 @@ public: * * @returns True when the button is pressed once. */ - [[nodiscard]] bool IsButtonPressedOnce(HIDButton button) const; + [[nodiscard]] bool IsButtonPressedOnce(Core::HID::NpadButton button) const; /** * Checks whether any of the buttons in the parameter list is pressed once. @@ -107,7 +75,7 @@ public: * * @returns True when at least one of the buttons is pressed once. */ - template <HIDButton... T> + template <Core::HID::NpadButton... T> [[nodiscard]] bool IsAnyButtonPressedOnce() const { return (IsButtonPressedOnce(T) || ...); } @@ -119,7 +87,7 @@ public: * * @returns True when the button is held down. */ - [[nodiscard]] bool IsButtonHeld(HIDButton button) const; + [[nodiscard]] bool IsButtonHeld(Core::HID::NpadButton button) const; /** * Checks whether any of the buttons in the parameter list is held down. @@ -128,7 +96,7 @@ public: * * @returns True when at least one of the buttons is held down. */ - template <HIDButton... T> + template <Core::HID::NpadButton... T> [[nodiscard]] bool IsAnyButtonHeld() const { return (IsButtonHeld(T) || ...); } @@ -137,7 +105,7 @@ private: Service::HID::Controller_NPad& npad; /// Stores 9 consecutive button states polled from HID. - std::array<u32, 9> button_states{}; + std::array<u64, 9> button_states{}; std::size_t previous_index{}; std::size_t current_index{}; |