diff options
Diffstat (limited to 'src/common/input.h')
| -rw-r--r-- | src/common/input.h | 68 |
1 files changed, 41 insertions, 27 deletions
diff --git a/src/common/input.h b/src/common/input.h index d27b1d772..d61cd7ca8 100644 --- a/src/common/input.h +++ b/src/common/input.h | |||
| @@ -51,6 +51,8 @@ enum class PollingMode { | |||
| 51 | NFC, | 51 | NFC, |
| 52 | // Enable infrared camera polling | 52 | // Enable infrared camera polling |
| 53 | IR, | 53 | IR, |
| 54 | // Enable ring controller polling | ||
| 55 | Ring, | ||
| 54 | }; | 56 | }; |
| 55 | 57 | ||
| 56 | enum class CameraFormat { | 58 | enum class CameraFormat { |
| @@ -62,21 +64,22 @@ enum class CameraFormat { | |||
| 62 | None, | 64 | None, |
| 63 | }; | 65 | }; |
| 64 | 66 | ||
| 65 | // Vibration reply from the controller | 67 | // Different results that can happen from a device request |
| 66 | enum class VibrationError { | 68 | enum class DriverResult { |
| 67 | None, | 69 | Success, |
| 70 | WrongReply, | ||
| 71 | Timeout, | ||
| 72 | UnsupportedControllerType, | ||
| 73 | HandleInUse, | ||
| 74 | ErrorReadingData, | ||
| 75 | ErrorWritingData, | ||
| 76 | NoDeviceDetected, | ||
| 77 | InvalidHandle, | ||
| 68 | NotSupported, | 78 | NotSupported, |
| 69 | Disabled, | 79 | Disabled, |
| 70 | Unknown, | 80 | Unknown, |
| 71 | }; | 81 | }; |
| 72 | 82 | ||
| 73 | // Polling mode reply from the controller | ||
| 74 | enum class PollingError { | ||
| 75 | None, | ||
| 76 | NotSupported, | ||
| 77 | Unknown, | ||
| 78 | }; | ||
| 79 | |||
| 80 | // Nfc reply from the controller | 83 | // Nfc reply from the controller |
| 81 | enum class NfcState { | 84 | enum class NfcState { |
| 82 | Success, | 85 | Success, |
| @@ -90,13 +93,6 @@ enum class NfcState { | |||
| 90 | Unknown, | 93 | Unknown, |
| 91 | }; | 94 | }; |
| 92 | 95 | ||
| 93 | // Ir camera reply from the controller | ||
| 94 | enum class CameraError { | ||
| 95 | None, | ||
| 96 | NotSupported, | ||
| 97 | Unknown, | ||
| 98 | }; | ||
| 99 | |||
| 100 | // Hint for amplification curve to be used | 96 | // Hint for amplification curve to be used |
| 101 | enum class VibrationAmplificationType { | 97 | enum class VibrationAmplificationType { |
| 102 | Linear, | 98 | Linear, |
| @@ -190,6 +186,8 @@ struct TouchStatus { | |||
| 190 | struct BodyColorStatus { | 186 | struct BodyColorStatus { |
| 191 | u32 body{}; | 187 | u32 body{}; |
| 192 | u32 buttons{}; | 188 | u32 buttons{}; |
| 189 | u32 left_grip{}; | ||
| 190 | u32 right_grip{}; | ||
| 193 | }; | 191 | }; |
| 194 | 192 | ||
| 195 | // HD rumble data | 193 | // HD rumble data |
| @@ -228,17 +226,31 @@ enum class ButtonNames { | |||
| 228 | Engine, | 226 | Engine, |
| 229 | // This will display the button by value instead of the button name | 227 | // This will display the button by value instead of the button name |
| 230 | Value, | 228 | Value, |
| 229 | |||
| 230 | // Joycon button names | ||
| 231 | ButtonLeft, | 231 | ButtonLeft, |
| 232 | ButtonRight, | 232 | ButtonRight, |
| 233 | ButtonDown, | 233 | ButtonDown, |
| 234 | ButtonUp, | 234 | ButtonUp, |
| 235 | TriggerZ, | ||
| 236 | TriggerR, | ||
| 237 | TriggerL, | ||
| 238 | ButtonA, | 235 | ButtonA, |
| 239 | ButtonB, | 236 | ButtonB, |
| 240 | ButtonX, | 237 | ButtonX, |
| 241 | ButtonY, | 238 | ButtonY, |
| 239 | ButtonPlus, | ||
| 240 | ButtonMinus, | ||
| 241 | ButtonHome, | ||
| 242 | ButtonCapture, | ||
| 243 | ButtonStickL, | ||
| 244 | ButtonStickR, | ||
| 245 | TriggerL, | ||
| 246 | TriggerZL, | ||
| 247 | TriggerSL, | ||
| 248 | TriggerR, | ||
| 249 | TriggerZR, | ||
| 250 | TriggerSR, | ||
| 251 | |||
| 252 | // GC button names | ||
| 253 | TriggerZ, | ||
| 242 | ButtonStart, | 254 | ButtonStart, |
| 243 | 255 | ||
| 244 | // DS4 button names | 256 | // DS4 button names |
| @@ -316,22 +328,24 @@ class OutputDevice { | |||
| 316 | public: | 328 | public: |
| 317 | virtual ~OutputDevice() = default; | 329 | virtual ~OutputDevice() = default; |
| 318 | 330 | ||
| 319 | virtual void SetLED([[maybe_unused]] const LedStatus& led_status) {} | 331 | virtual DriverResult SetLED([[maybe_unused]] const LedStatus& led_status) { |
| 332 | return DriverResult::NotSupported; | ||
| 333 | } | ||
| 320 | 334 | ||
| 321 | virtual VibrationError SetVibration([[maybe_unused]] const VibrationStatus& vibration_status) { | 335 | virtual DriverResult SetVibration([[maybe_unused]] const VibrationStatus& vibration_status) { |
| 322 | return VibrationError::NotSupported; | 336 | return DriverResult::NotSupported; |
| 323 | } | 337 | } |
| 324 | 338 | ||
| 325 | virtual bool IsVibrationEnabled() { | 339 | virtual bool IsVibrationEnabled() { |
| 326 | return false; | 340 | return false; |
| 327 | } | 341 | } |
| 328 | 342 | ||
| 329 | virtual PollingError SetPollingMode([[maybe_unused]] PollingMode polling_mode) { | 343 | virtual DriverResult SetPollingMode([[maybe_unused]] PollingMode polling_mode) { |
| 330 | return PollingError::NotSupported; | 344 | return DriverResult::NotSupported; |
| 331 | } | 345 | } |
| 332 | 346 | ||
| 333 | virtual CameraError SetCameraFormat([[maybe_unused]] CameraFormat camera_format) { | 347 | virtual DriverResult SetCameraFormat([[maybe_unused]] CameraFormat camera_format) { |
| 334 | return CameraError::NotSupported; | 348 | return DriverResult::NotSupported; |
| 335 | } | 349 | } |
| 336 | 350 | ||
| 337 | virtual NfcState SupportsNfc() const { | 351 | virtual NfcState SupportsNfc() const { |