diff options
author | german <german@thesoftwareartisans.com> | 2020-11-27 04:15:48 +0100 |
---|---|---|
committer | german <german@thesoftwareartisans.com> | 2020-11-27 04:35:11 +0100 |
commit | 3898d8f0d7fc51c7337eae4aa174b9545d52157e (patch) | |
tree | a8fc2c2014a1b22e09db350a5b162a8b5e72d94b /src/core/hle/service/hid/controllers | |
parent | Merge pull request #5016 from comex/xx-push (diff) | |
download | yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar.gz yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar.bz2 yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar.lz yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar.xz yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.tar.zst yuzu-3898d8f0d7fc51c7337eae4aa174b9545d52157e.zip |
Diffstat (limited to 'src/core/hle/service/hid/controllers')
-rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 8 | ||||
-rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index e2539ded8..66c4fe60a 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -677,6 +677,14 @@ Controller_NPad::NpadHandheldActivationMode Controller_NPad::GetNpadHandheldActi return handheld_activation_mode; } +void Controller_NPad::SetNpadCommunicationMode(NpadCommunicationMode communication_mode_) { + communication_mode = communication_mode_; +} + +Controller_NPad::NpadCommunicationMode Controller_NPad::GetNpadCommunicationMode() const { + return communication_mode; +} + void Controller_NPad::SetNpadMode(u32 npad_id, NpadAssignments assignment_mode) { const std::size_t npad_index = NPadIdToIndex(npad_id); ASSERT(npad_index < shared_memory_entries.size()); diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 160dcbbe3..f1437c941 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -86,6 +86,11 @@ public: None = 2, }; + enum class NpadCommunicationMode : u64 { + Unknown0 = 0, + Unknown1 = 1, + }; + struct DeviceHandle { NpadType npad_type{}; u8 npad_id{}; @@ -146,6 +151,9 @@ public: void SetNpadHandheldActivationMode(NpadHandheldActivationMode activation_mode); NpadHandheldActivationMode GetNpadHandheldActivationMode() const; + void SetNpadCommunicationMode(NpadCommunicationMode communication_mode_); + NpadCommunicationMode GetNpadCommunicationMode() const; + void SetNpadMode(u32 npad_id, NpadAssignments assignment_mode); bool VibrateControllerAtIndex(std::size_t npad_index, std::size_t device_index, @@ -424,6 +432,8 @@ private: std::vector<u32> supported_npad_id_types{}; NpadHoldType hold_type{NpadHoldType::Vertical}; NpadHandheldActivationMode handheld_activation_mode{NpadHandheldActivationMode::Dual}; + // NpadCommunicationMode is unknown, default value is 1 + NpadCommunicationMode communication_mode{NpadCommunicationMode::Unknown1}; // Each controller should have their own styleset changed event std::array<Kernel::EventPair, 10> styleset_changed_events; std::array<std::array<std::chrono::steady_clock::time_point, 2>, 10> last_vibration_timepoints; |