summaryrefslogtreecommitdiff
path: root/src/core/hle/service/hid
diff options
context:
space:
mode:
authorGravatar german772023-09-16 00:21:47 -0600
committerGravatar german772023-09-16 00:31:19 -0600
commit8950fe79ad0f1a10880556856eca9f987cdfd886 (patch)
tree8fed94e0fdad0043aa70af8ba4ba01793b658d12 /src/core/hle/service/hid
parentservice: hid: Ensure state is correct (diff)
downloadyuzu-8950fe79ad0f1a10880556856eca9f987cdfd886.tar.gz
yuzu-8950fe79ad0f1a10880556856eca9f987cdfd886.tar.xz
yuzu-8950fe79ad0f1a10880556856eca9f987cdfd886.zip
hid: service: Implement Last active Npad
Diffstat (limited to 'src/core/hle/service/hid')
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp4
-rw-r--r--src/core/hle/service/hid/hid.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index a894af8ea..da3220ddc 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -476,6 +476,10 @@ void Controller_NPad::RequestPadStateUpdate(Core::HID::NpadIdType npad_id) {
476 pad_entry.npad_buttons.l.Assign(button_state.zl); 476 pad_entry.npad_buttons.l.Assign(button_state.zl);
477 pad_entry.npad_buttons.r.Assign(button_state.zr); 477 pad_entry.npad_buttons.r.Assign(button_state.zr);
478 } 478 }
479
480 if (pad_entry.npad_buttons.raw != Core::HID::NpadButton::None) {
481 hid_core.SetLastActiveController(npad_id);
482 }
479} 483}
480 484
481void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) { 485void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index fd466db7b..3657e61d3 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -2768,7 +2768,7 @@ private:
2768 2768
2769 IPC::ResponseBuilder rb{ctx, 3}; 2769 IPC::ResponseBuilder rb{ctx, 3};
2770 rb.Push(ResultSuccess); 2770 rb.Push(ResultSuccess);
2771 rb.PushEnum(Core::HID::NpadIdType::Handheld); 2771 rb.PushEnum(system.HIDCore().GetLastActiveController());
2772 } 2772 }
2773 2773
2774 void GetUniquePadsFromNpad(HLERequestContext& ctx) { 2774 void GetUniquePadsFromNpad(HLERequestContext& ctx) {