summaryrefslogtreecommitdiff
path: root/src/input_common/drivers/joycon.h
diff options
context:
space:
mode:
authorGravatar Narr the Reg2023-06-16 21:57:21 -0600
committerGravatar Narr the Reg2023-06-21 17:54:58 -0600
commit84d43489c5df9f450efb0293cc58161d08e3b882 (patch)
treec4d45b021c78392956dc58d409a34632fe135d2b /src/input_common/drivers/joycon.h
parentMerge pull request #10783 from liamwhite/memory (diff)
downloadyuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.gz
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.tar.xz
yuzu-84d43489c5df9f450efb0293cc58161d08e3b882.zip
input_common: Implement native mifare support
Diffstat (limited to 'src/input_common/drivers/joycon.h')
-rw-r--r--src/input_common/drivers/joycon.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/input_common/drivers/joycon.h b/src/input_common/drivers/joycon.h
index e3f0ad78f..4c323d7d6 100644
--- a/src/input_common/drivers/joycon.h
+++ b/src/input_common/drivers/joycon.h
@@ -15,6 +15,7 @@ using SerialNumber = std::array<u8, 15>;
15struct Battery; 15struct Battery;
16struct Color; 16struct Color;
17struct MotionData; 17struct MotionData;
18struct TagInfo;
18enum class ControllerType : u8; 19enum class ControllerType : u8;
19enum class DriverResult; 20enum class DriverResult;
20enum class IrsResolution; 21enum class IrsResolution;
@@ -39,9 +40,18 @@ public:
39 Common::Input::DriverResult SetCameraFormat(const PadIdentifier& identifier, 40 Common::Input::DriverResult SetCameraFormat(const PadIdentifier& identifier,
40 Common::Input::CameraFormat camera_format) override; 41 Common::Input::CameraFormat camera_format) override;
41 42
42 Common::Input::NfcState SupportsNfc(const PadIdentifier& identifier_) const override; 43 Common::Input::NfcState SupportsNfc(const PadIdentifier& identifier) const override;
43 Common::Input::NfcState WriteNfcData(const PadIdentifier& identifier_, 44 Common::Input::NfcState StartNfcPolling(const PadIdentifier& identifier) override;
45 Common::Input::NfcState StopNfcPolling(const PadIdentifier& identifier) override;
46 Common::Input::NfcState ReadAmiiboData(const PadIdentifier& identifier,
47 std::vector<u8>& out_data) override;
48 Common::Input::NfcState WriteNfcData(const PadIdentifier& identifier,
44 const std::vector<u8>& data) override; 49 const std::vector<u8>& data) override;
50 Common::Input::NfcState ReadMifareData(const PadIdentifier& identifier,
51 const Common::Input::MifareRequest& request,
52 Common::Input::MifareRequest& out_data) override;
53 Common::Input::NfcState WriteMifareData(const PadIdentifier& identifier,
54 const Common::Input::MifareRequest& request) override;
45 55
46 Common::Input::DriverResult SetPollingMode( 56 Common::Input::DriverResult SetPollingMode(
47 const PadIdentifier& identifier, const Common::Input::PollingMode polling_mode) override; 57 const PadIdentifier& identifier, const Common::Input::PollingMode polling_mode) override;
@@ -82,7 +92,7 @@ private:
82 const Joycon::MotionData& value); 92 const Joycon::MotionData& value);
83 void OnRingConUpdate(f32 ring_data); 93 void OnRingConUpdate(f32 ring_data);
84 void OnAmiiboUpdate(std::size_t port, Joycon::ControllerType type, 94 void OnAmiiboUpdate(std::size_t port, Joycon::ControllerType type,
85 const std::vector<u8>& amiibo_data); 95 const Joycon::TagInfo& amiibo_data);
86 void OnCameraUpdate(std::size_t port, const std::vector<u8>& camera_data, 96 void OnCameraUpdate(std::size_t port, const std::vector<u8>& camera_data,
87 Joycon::IrsResolution format); 97 Joycon::IrsResolution format);
88 98
@@ -102,6 +112,8 @@ private:
102 /// Returns the name of the device in text format 112 /// Returns the name of the device in text format
103 std::string JoyconName(Joycon::ControllerType type) const; 113 std::string JoyconName(Joycon::ControllerType type) const;
104 114
115 Common::Input::NfcState TranslateDriverResult(Joycon::DriverResult result) const;
116
105 std::jthread scan_thread; 117 std::jthread scan_thread;
106 118
107 // Joycon types are split by type to ease supporting dualjoycon configurations 119 // Joycon types are split by type to ease supporting dualjoycon configurations