diff options
| author | 2023-09-16 00:21:47 -0600 | |
|---|---|---|
| committer | 2023-09-16 00:31:19 -0600 | |
| commit | 8950fe79ad0f1a10880556856eca9f987cdfd886 (patch) | |
| tree | 8fed94e0fdad0043aa70af8ba4ba01793b658d12 /src/core/hle/service/hid | |
| parent | service: hid: Ensure state is correct (diff) | |
| download | yuzu-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.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 2 |
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 | ||
| 481 | void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) { | 485 | void 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) { |