diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2021-11-30 04:10:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 04:10:02 +0100 |
commit | 46e3ed5a483eac404ff1e2103ecc4e93e815d45b (patch) | |
tree | b5317954b6692942ba01b262616a7979141c95fc /src/core/hle/service | |
parent | input_common: Fix error with thread name (diff) | |
parent | input_interpreter: Make use of NpadButton instead of a u64 (diff) | |
download | yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar.gz yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar.bz2 yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar.lz yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar.xz yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.tar.zst yuzu-46e3ed5a483eac404ff1e2103ecc4e93e815d45b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 8 | ||||
-rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 04b3a68c3..6916930f7 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -510,7 +510,7 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* libnx_state.r_stick = pad_state.r_stick; npad.system_ext_lifo.WriteNextEntry(pad_state); - press_state |= static_cast<u32>(pad_state.npad_buttons.raw); + press_state |= static_cast<u64>(pad_state.npad_buttons.raw); std::memcpy(data + NPAD_OFFSET + (i * sizeof(NpadInternalState)), &controller.shared_memory_entry, sizeof(NpadInternalState)); @@ -635,7 +635,7 @@ void Controller_NPad::OnMotionUpdate(const Core::Timing::CoreTiming& core_timing // This buffer only is updated on handheld on HW npad.sixaxis_handheld_lifo.WriteNextEntry(sixaxis_handheld_state); } else { - // Hanheld doesn't update this buffer on HW + // Handheld doesn't update this buffer on HW npad.sixaxis_fullkey_lifo.WriteNextEntry(sixaxis_fullkey_state); } @@ -1149,8 +1149,8 @@ void Controller_NPad::ClearAllControllers() { } } -u32 Controller_NPad::GetAndResetPressState() { - return press_state.exchange(0); +Core::HID::NpadButton Controller_NPad::GetAndResetPressState() { + return static_cast<Core::HID::NpadButton>(press_state.exchange(0)); } bool Controller_NPad::IsControllerSupported(Core::HID::NpadStyleIndex controller) const { diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 9fa113bb6..de5fa5a64 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -179,7 +179,7 @@ public: // Logical OR for all buttons presses on all controllers // Specifically for cheat engine and other features. - u32 GetAndResetPressState(); + Core::HID::NpadButton GetAndResetPressState(); static bool IsNpadIdValid(Core::HID::NpadIdType npad_id); static bool IsDeviceHandleValid(const Core::HID::SixAxisSensorHandle& device_handle); @@ -503,7 +503,7 @@ private: NpadControllerData& GetControllerFromNpadIdType(Core::HID::NpadIdType npad_id); const NpadControllerData& GetControllerFromNpadIdType(Core::HID::NpadIdType npad_id) const; - std::atomic<u32> press_state{}; + std::atomic<u64> press_state{}; std::array<NpadControllerData, 10> controller_data{}; KernelHelpers::ServiceContext& service_context; |