summaryrefslogtreecommitdiff
path: root/src/hid_core
diff options
context:
space:
mode:
authorGravatar german772024-01-06 21:17:57 -0600
committerGravatar german772024-01-06 21:18:44 -0600
commita36f4d0a9f2c0fee837856e4db3e4ca10bfed25b (patch)
treee13147afa84aaba79e36bbee59b0aa86f81ccf38 /src/hid_core
parentMerge pull request #12596 from german77/hid_qlaunch (diff)
downloadyuzu-a36f4d0a9f2c0fee837856e4db3e4ca10bfed25b.tar.gz
yuzu-a36f4d0a9f2c0fee837856e4db3e4ca10bfed25b.tar.xz
yuzu-a36f4d0a9f2c0fee837856e4db3e4ca10bfed25b.zip
service: hid: Implement CaptureButtonAssignment
Diffstat (limited to 'src/hid_core')
-rw-r--r--src/hid_core/resources/npad/npad.cpp17
-rw-r--r--src/hid_core/resources/npad/npad.h6
2 files changed, 23 insertions, 0 deletions
diff --git a/src/hid_core/resources/npad/npad.cpp b/src/hid_core/resources/npad/npad.cpp
index e6c035628..ea035d759 100644
--- a/src/hid_core/resources/npad/npad.cpp
+++ b/src/hid_core/resources/npad/npad.cpp
@@ -1339,4 +1339,21 @@ AppletDetailedUiType NPad::GetAppletDetailedUiType(Core::HID::NpadIdType npad_id
1339 }; 1339 };
1340} 1340}
1341 1341
1342Result NPad::SetNpadCaptureButtonAssignment(u64 aruid, Core::HID::NpadStyleSet npad_style_set,
1343 Core::HID::NpadButton button_assignment) {
1344 std::scoped_lock lock{mutex};
1345 return npad_resource.SetNpadCaptureButtonAssignment(aruid, npad_style_set, button_assignment);
1346}
1347
1348Result NPad::ClearNpadCaptureButtonAssignment(u64 aruid) {
1349 std::scoped_lock lock{mutex};
1350 return npad_resource.ClearNpadCaptureButtonAssignment(aruid);
1351}
1352
1353std::size_t NPad::GetNpadCaptureButtonAssignment(std::span<Core::HID::NpadButton> out_list,
1354 u64 aruid) const {
1355 std::scoped_lock lock{mutex};
1356 return npad_resource.GetNpadCaptureButtonAssignment(out_list, aruid);
1357}
1358
1342} // namespace Service::HID 1359} // namespace Service::HID
diff --git a/src/hid_core/resources/npad/npad.h b/src/hid_core/resources/npad/npad.h
index 58f8c7acf..e602ddaea 100644
--- a/src/hid_core/resources/npad/npad.h
+++ b/src/hid_core/resources/npad/npad.h
@@ -149,6 +149,12 @@ public:
149 149
150 AppletDetailedUiType GetAppletDetailedUiType(Core::HID::NpadIdType npad_id); 150 AppletDetailedUiType GetAppletDetailedUiType(Core::HID::NpadIdType npad_id);
151 151
152 Result SetNpadCaptureButtonAssignment(u64 aruid, Core::HID::NpadStyleSet npad_style_set,
153 Core::HID::NpadButton button_assignment);
154 Result ClearNpadCaptureButtonAssignment(u64 aruid);
155 std::size_t GetNpadCaptureButtonAssignment(std::span<Core::HID::NpadButton> out_list,
156 u64 aruid) const;
157
152private: 158private:
153 struct VibrationData { 159 struct VibrationData {
154 bool device_mounted{}; 160 bool device_mounted{};