summaryrefslogtreecommitdiff
path: root/src/input_common/drivers/joycon.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_common/drivers/joycon.h')
-rw-r--r--src/input_common/drivers/joycon.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/input_common/drivers/joycon.h b/src/input_common/drivers/joycon.h
index e3f0ad78f..112e970e1 100644
--- a/src/input_common/drivers/joycon.h
+++ b/src/input_common/drivers/joycon.h
@@ -15,8 +15,8 @@ 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 IrsResolution; 20enum class IrsResolution;
21class JoyconDriver; 21class JoyconDriver;
22} // namespace InputCommon::Joycon 22} // namespace InputCommon::Joycon
@@ -39,9 +39,18 @@ public:
39 Common::Input::DriverResult SetCameraFormat(const PadIdentifier& identifier, 39 Common::Input::DriverResult SetCameraFormat(const PadIdentifier& identifier,
40 Common::Input::CameraFormat camera_format) override; 40 Common::Input::CameraFormat camera_format) override;
41 41
42 Common::Input::NfcState SupportsNfc(const PadIdentifier& identifier_) const override; 42 Common::Input::NfcState SupportsNfc(const PadIdentifier& identifier) const override;
43 Common::Input::NfcState WriteNfcData(const PadIdentifier& identifier_, 43 Common::Input::NfcState StartNfcPolling(const PadIdentifier& identifier) override;
44 Common::Input::NfcState StopNfcPolling(const PadIdentifier& identifier) override;
45 Common::Input::NfcState ReadAmiiboData(const PadIdentifier& identifier,
46 std::vector<u8>& out_data) override;
47 Common::Input::NfcState WriteNfcData(const PadIdentifier& identifier,
44 const std::vector<u8>& data) override; 48 const std::vector<u8>& data) override;
49 Common::Input::NfcState ReadMifareData(const PadIdentifier& identifier,
50 const Common::Input::MifareRequest& request,
51 Common::Input::MifareRequest& out_data) override;
52 Common::Input::NfcState WriteMifareData(const PadIdentifier& identifier,
53 const Common::Input::MifareRequest& request) override;
45 54
46 Common::Input::DriverResult SetPollingMode( 55 Common::Input::DriverResult SetPollingMode(
47 const PadIdentifier& identifier, const Common::Input::PollingMode polling_mode) override; 56 const PadIdentifier& identifier, const Common::Input::PollingMode polling_mode) override;
@@ -82,7 +91,7 @@ private:
82 const Joycon::MotionData& value); 91 const Joycon::MotionData& value);
83 void OnRingConUpdate(f32 ring_data); 92 void OnRingConUpdate(f32 ring_data);
84 void OnAmiiboUpdate(std::size_t port, Joycon::ControllerType type, 93 void OnAmiiboUpdate(std::size_t port, Joycon::ControllerType type,
85 const std::vector<u8>& amiibo_data); 94 const Joycon::TagInfo& amiibo_data);
86 void OnCameraUpdate(std::size_t port, const std::vector<u8>& camera_data, 95 void OnCameraUpdate(std::size_t port, const std::vector<u8>& camera_data,
87 Joycon::IrsResolution format); 96 Joycon::IrsResolution format);
88 97
@@ -102,6 +111,8 @@ private:
102 /// Returns the name of the device in text format 111 /// Returns the name of the device in text format
103 std::string JoyconName(Joycon::ControllerType type) const; 112 std::string JoyconName(Joycon::ControllerType type) const;
104 113
114 Common::Input::NfcState TranslateDriverResult(Common::Input::DriverResult result) const;
115
105 std::jthread scan_thread; 116 std::jthread scan_thread;
106 117
107 // Joycon types are split by type to ease supporting dualjoycon configurations 118 // Joycon types are split by type to ease supporting dualjoycon configurations