diff options
| author | 2023-01-24 09:29:37 -0500 | |
|---|---|---|
| committer | 2023-01-24 09:29:37 -0500 | |
| commit | a68af583ea378b48e2ed5a19f519a815ba89e40f (patch) | |
| tree | 2983c14a7d4bc2797259c7d97462a439bec629f3 /src/core/hle | |
| parent | Merge pull request #9555 from abouvier/catch2-update (diff) | |
| parent | core: hid: Make use of SCOPE_EXIT and SCOPE_GUARD where applicable (diff) | |
| download | yuzu-a68af583ea378b48e2ed5a19f519a815ba89e40f.tar.gz yuzu-a68af583ea378b48e2ed5a19f519a815ba89e40f.tar.xz yuzu-a68af583ea378b48e2ed5a19f519a815ba89e40f.zip | |
Merge pull request #9492 from german77/joycon_release
Input_common: Implement custom joycon driver v2
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 18 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hidbus.cpp | 24 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hidbus/ringcon.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hidbus/ringcon.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/hid/irs.cpp | 18 | ||||
| -rw-r--r-- | src/core/hle/service/nfc/nfc_device.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/service/nfp/nfp_device.cpp | 7 |
7 files changed, 66 insertions, 20 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 2f871de31..5713f1288 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -272,6 +272,8 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { | |||
| 272 | } | 272 | } |
| 273 | break; | 273 | break; |
| 274 | case Core::HID::NpadStyleIndex::JoyconLeft: | 274 | case Core::HID::NpadStyleIndex::JoyconLeft: |
| 275 | shared_memory->fullkey_color.attribute = ColorAttribute::Ok; | ||
| 276 | shared_memory->fullkey_color.fullkey = body_colors.left; | ||
| 275 | shared_memory->joycon_color.attribute = ColorAttribute::Ok; | 277 | shared_memory->joycon_color.attribute = ColorAttribute::Ok; |
| 276 | shared_memory->joycon_color.left = body_colors.left; | 278 | shared_memory->joycon_color.left = body_colors.left; |
| 277 | shared_memory->battery_level_dual = battery_level.left.battery_level; | 279 | shared_memory->battery_level_dual = battery_level.left.battery_level; |
| @@ -285,6 +287,8 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { | |||
| 285 | shared_memory->sixaxis_left_properties.is_newly_assigned.Assign(1); | 287 | shared_memory->sixaxis_left_properties.is_newly_assigned.Assign(1); |
| 286 | break; | 288 | break; |
| 287 | case Core::HID::NpadStyleIndex::JoyconRight: | 289 | case Core::HID::NpadStyleIndex::JoyconRight: |
| 290 | shared_memory->fullkey_color.attribute = ColorAttribute::Ok; | ||
| 291 | shared_memory->fullkey_color.fullkey = body_colors.right; | ||
| 288 | shared_memory->joycon_color.attribute = ColorAttribute::Ok; | 292 | shared_memory->joycon_color.attribute = ColorAttribute::Ok; |
| 289 | shared_memory->joycon_color.right = body_colors.right; | 293 | shared_memory->joycon_color.right = body_colors.right; |
| 290 | shared_memory->battery_level_right = battery_level.right.battery_level; | 294 | shared_memory->battery_level_right = battery_level.right.battery_level; |
| @@ -332,6 +336,20 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { | |||
| 332 | 336 | ||
| 333 | controller.is_connected = true; | 337 | controller.is_connected = true; |
| 334 | controller.device->Connect(); | 338 | controller.device->Connect(); |
| 339 | controller.device->SetLedPattern(); | ||
| 340 | if (controller_type == Core::HID::NpadStyleIndex::JoyconDual) { | ||
| 341 | if (controller.is_dual_left_connected) { | ||
| 342 | controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::LeftIndex, | ||
| 343 | Common::Input::PollingMode::Active); | ||
| 344 | } | ||
| 345 | if (controller.is_dual_right_connected) { | ||
| 346 | controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 347 | Common::Input::PollingMode::Active); | ||
| 348 | } | ||
| 349 | } else { | ||
| 350 | controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::AllDevices, | ||
| 351 | Common::Input::PollingMode::Active); | ||
| 352 | } | ||
| 335 | SignalStyleSetChangedEvent(npad_id); | 353 | SignalStyleSetChangedEvent(npad_id); |
| 336 | WriteEmptyEntry(controller.shared_memory); | 354 | WriteEmptyEntry(controller.shared_memory); |
| 337 | } | 355 | } |
diff --git a/src/core/hle/service/hid/hidbus.cpp b/src/core/hle/service/hid/hidbus.cpp index e5e50845f..17252a84a 100644 --- a/src/core/hle/service/hid/hidbus.cpp +++ b/src/core/hle/service/hid/hidbus.cpp | |||
| @@ -297,13 +297,13 @@ void HidBus::EnableExternalDevice(Kernel::HLERequestContext& ctx) { | |||
| 297 | 297 | ||
| 298 | const auto parameters{rp.PopRaw<Parameters>()}; | 298 | const auto parameters{rp.PopRaw<Parameters>()}; |
| 299 | 299 | ||
| 300 | LOG_INFO(Service_HID, | 300 | LOG_DEBUG(Service_HID, |
| 301 | "called, enable={}, abstracted_pad_id={}, bus_type={}, internal_index={}, " | 301 | "called, enable={}, abstracted_pad_id={}, bus_type={}, internal_index={}, " |
| 302 | "player_number={}, is_valid={}, inval={}, applet_resource_user_id{}", | 302 | "player_number={}, is_valid={}, inval={}, applet_resource_user_id{}", |
| 303 | parameters.enable, parameters.bus_handle.abstracted_pad_id, | 303 | parameters.enable, parameters.bus_handle.abstracted_pad_id, |
| 304 | parameters.bus_handle.bus_type, parameters.bus_handle.internal_index, | 304 | parameters.bus_handle.bus_type, parameters.bus_handle.internal_index, |
| 305 | parameters.bus_handle.player_number, parameters.bus_handle.is_valid, parameters.inval, | 305 | parameters.bus_handle.player_number, parameters.bus_handle.is_valid, parameters.inval, |
| 306 | parameters.applet_resource_user_id); | 306 | parameters.applet_resource_user_id); |
| 307 | 307 | ||
| 308 | const auto device_index = GetDeviceIndexFromHandle(parameters.bus_handle); | 308 | const auto device_index = GetDeviceIndexFromHandle(parameters.bus_handle); |
| 309 | 309 | ||
| @@ -326,11 +326,11 @@ void HidBus::GetExternalDeviceId(Kernel::HLERequestContext& ctx) { | |||
| 326 | IPC::RequestParser rp{ctx}; | 326 | IPC::RequestParser rp{ctx}; |
| 327 | const auto bus_handle_{rp.PopRaw<BusHandle>()}; | 327 | const auto bus_handle_{rp.PopRaw<BusHandle>()}; |
| 328 | 328 | ||
| 329 | LOG_INFO(Service_HID, | 329 | LOG_DEBUG(Service_HID, |
| 330 | "called, abstracted_pad_id={}, bus_type={}, internal_index={}, player_number={}, " | 330 | "called, abstracted_pad_id={}, bus_type={}, internal_index={}, player_number={}, " |
| 331 | "is_valid={}", | 331 | "is_valid={}", |
| 332 | bus_handle_.abstracted_pad_id, bus_handle_.bus_type, bus_handle_.internal_index, | 332 | bus_handle_.abstracted_pad_id, bus_handle_.bus_type, bus_handle_.internal_index, |
| 333 | bus_handle_.player_number, bus_handle_.is_valid); | 333 | bus_handle_.player_number, bus_handle_.is_valid); |
| 334 | 334 | ||
| 335 | const auto device_index = GetDeviceIndexFromHandle(bus_handle_); | 335 | const auto device_index = GetDeviceIndexFromHandle(bus_handle_); |
| 336 | 336 | ||
diff --git a/src/core/hle/service/hid/hidbus/ringcon.cpp b/src/core/hle/service/hid/hidbus/ringcon.cpp index 57f1a2a26..78ed47014 100644 --- a/src/core/hle/service/hid/hidbus/ringcon.cpp +++ b/src/core/hle/service/hid/hidbus/ringcon.cpp | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "core/hid/emulated_devices.h" | 4 | #include "core/hid/emulated_controller.h" |
| 5 | #include "core/hid/hid_core.h" | 5 | #include "core/hid/hid_core.h" |
| 6 | #include "core/hle/kernel/k_event.h" | 6 | #include "core/hle/kernel/k_event.h" |
| 7 | #include "core/hle/kernel/k_readable_event.h" | 7 | #include "core/hle/kernel/k_readable_event.h" |
| @@ -12,16 +12,20 @@ namespace Service::HID { | |||
| 12 | RingController::RingController(Core::HID::HIDCore& hid_core_, | 12 | RingController::RingController(Core::HID::HIDCore& hid_core_, |
| 13 | KernelHelpers::ServiceContext& service_context_) | 13 | KernelHelpers::ServiceContext& service_context_) |
| 14 | : HidbusBase(service_context_) { | 14 | : HidbusBase(service_context_) { |
| 15 | input = hid_core_.GetEmulatedDevices(); | 15 | input = hid_core_.GetEmulatedController(Core::HID::NpadIdType::Player1); |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | RingController::~RingController() = default; | 18 | RingController::~RingController() = default; |
| 19 | 19 | ||
| 20 | void RingController::OnInit() { | 20 | void RingController::OnInit() { |
| 21 | input->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 22 | Common::Input::PollingMode::Ring); | ||
| 21 | return; | 23 | return; |
| 22 | } | 24 | } |
| 23 | 25 | ||
| 24 | void RingController::OnRelease() { | 26 | void RingController::OnRelease() { |
| 27 | input->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 28 | Common::Input::PollingMode::Active); | ||
| 25 | return; | 29 | return; |
| 26 | }; | 30 | }; |
| 27 | 31 | ||
diff --git a/src/core/hle/service/hid/hidbus/ringcon.h b/src/core/hle/service/hid/hidbus/ringcon.h index b37df50ac..845ce85a5 100644 --- a/src/core/hle/service/hid/hidbus/ringcon.h +++ b/src/core/hle/service/hid/hidbus/ringcon.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | #include "core/hle/service/hid/hidbus/hidbus_base.h" | 9 | #include "core/hle/service/hid/hidbus/hidbus_base.h" |
| 10 | 10 | ||
| 11 | namespace Core::HID { | 11 | namespace Core::HID { |
| 12 | class EmulatedDevices; | 12 | class EmulatedController; |
| 13 | } // namespace Core::HID | 13 | } // namespace Core::HID |
| 14 | 14 | ||
| 15 | namespace Service::HID { | 15 | namespace Service::HID { |
| @@ -248,6 +248,6 @@ private: | |||
| 248 | .zero = {.value = idle_value, .crc = 225}, | 248 | .zero = {.value = idle_value, .crc = 225}, |
| 249 | }; | 249 | }; |
| 250 | 250 | ||
| 251 | Core::HID::EmulatedDevices* input; | 251 | Core::HID::EmulatedController* input; |
| 252 | }; | 252 | }; |
| 253 | } // namespace Service::HID | 253 | } // namespace Service::HID |
diff --git a/src/core/hle/service/hid/irs.cpp b/src/core/hle/service/hid/irs.cpp index 6a3453457..52f402c56 100644 --- a/src/core/hle/service/hid/irs.cpp +++ b/src/core/hle/service/hid/irs.cpp | |||
| @@ -108,6 +108,8 @@ void IRS::StopImageProcessor(Kernel::HLERequestContext& ctx) { | |||
| 108 | auto result = IsIrCameraHandleValid(parameters.camera_handle); | 108 | auto result = IsIrCameraHandleValid(parameters.camera_handle); |
| 109 | if (result.IsSuccess()) { | 109 | if (result.IsSuccess()) { |
| 110 | // TODO: Stop Image processor | 110 | // TODO: Stop Image processor |
| 111 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 112 | Common::Input::PollingMode::Active); | ||
| 111 | result = ResultSuccess; | 113 | result = ResultSuccess; |
| 112 | } | 114 | } |
| 113 | 115 | ||
| @@ -139,6 +141,8 @@ void IRS::RunMomentProcessor(Kernel::HLERequestContext& ctx) { | |||
| 139 | MakeProcessor<MomentProcessor>(parameters.camera_handle, device); | 141 | MakeProcessor<MomentProcessor>(parameters.camera_handle, device); |
| 140 | auto& image_transfer_processor = GetProcessor<MomentProcessor>(parameters.camera_handle); | 142 | auto& image_transfer_processor = GetProcessor<MomentProcessor>(parameters.camera_handle); |
| 141 | image_transfer_processor.SetConfig(parameters.processor_config); | 143 | image_transfer_processor.SetConfig(parameters.processor_config); |
| 144 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 145 | Common::Input::PollingMode::IR); | ||
| 142 | } | 146 | } |
| 143 | 147 | ||
| 144 | IPC::ResponseBuilder rb{ctx, 2}; | 148 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -170,6 +174,8 @@ void IRS::RunClusteringProcessor(Kernel::HLERequestContext& ctx) { | |||
| 170 | auto& image_transfer_processor = | 174 | auto& image_transfer_processor = |
| 171 | GetProcessor<ClusteringProcessor>(parameters.camera_handle); | 175 | GetProcessor<ClusteringProcessor>(parameters.camera_handle); |
| 172 | image_transfer_processor.SetConfig(parameters.processor_config); | 176 | image_transfer_processor.SetConfig(parameters.processor_config); |
| 177 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 178 | Common::Input::PollingMode::IR); | ||
| 173 | } | 179 | } |
| 174 | 180 | ||
| 175 | IPC::ResponseBuilder rb{ctx, 2}; | 181 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -219,6 +225,8 @@ void IRS::RunImageTransferProcessor(Kernel::HLERequestContext& ctx) { | |||
| 219 | GetProcessor<ImageTransferProcessor>(parameters.camera_handle); | 225 | GetProcessor<ImageTransferProcessor>(parameters.camera_handle); |
| 220 | image_transfer_processor.SetConfig(parameters.processor_config); | 226 | image_transfer_processor.SetConfig(parameters.processor_config); |
| 221 | image_transfer_processor.SetTransferMemoryPointer(transfer_memory); | 227 | image_transfer_processor.SetTransferMemoryPointer(transfer_memory); |
| 228 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 229 | Common::Input::PollingMode::IR); | ||
| 222 | } | 230 | } |
| 223 | 231 | ||
| 224 | IPC::ResponseBuilder rb{ctx, 2}; | 232 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -294,6 +302,8 @@ void IRS::RunTeraPluginProcessor(Kernel::HLERequestContext& ctx) { | |||
| 294 | auto& image_transfer_processor = | 302 | auto& image_transfer_processor = |
| 295 | GetProcessor<TeraPluginProcessor>(parameters.camera_handle); | 303 | GetProcessor<TeraPluginProcessor>(parameters.camera_handle); |
| 296 | image_transfer_processor.SetConfig(parameters.processor_config); | 304 | image_transfer_processor.SetConfig(parameters.processor_config); |
| 305 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 306 | Common::Input::PollingMode::IR); | ||
| 297 | } | 307 | } |
| 298 | 308 | ||
| 299 | IPC::ResponseBuilder rb{ctx, 2}; | 309 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -343,6 +353,8 @@ void IRS::RunPointingProcessor(Kernel::HLERequestContext& ctx) { | |||
| 343 | MakeProcessor<PointingProcessor>(camera_handle, device); | 353 | MakeProcessor<PointingProcessor>(camera_handle, device); |
| 344 | auto& image_transfer_processor = GetProcessor<PointingProcessor>(camera_handle); | 354 | auto& image_transfer_processor = GetProcessor<PointingProcessor>(camera_handle); |
| 345 | image_transfer_processor.SetConfig(processor_config); | 355 | image_transfer_processor.SetConfig(processor_config); |
| 356 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 357 | Common::Input::PollingMode::IR); | ||
| 346 | } | 358 | } |
| 347 | 359 | ||
| 348 | IPC::ResponseBuilder rb{ctx, 2}; | 360 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -453,6 +465,8 @@ void IRS::RunImageTransferExProcessor(Kernel::HLERequestContext& ctx) { | |||
| 453 | GetProcessor<ImageTransferProcessor>(parameters.camera_handle); | 465 | GetProcessor<ImageTransferProcessor>(parameters.camera_handle); |
| 454 | image_transfer_processor.SetConfig(parameters.processor_config); | 466 | image_transfer_processor.SetConfig(parameters.processor_config); |
| 455 | image_transfer_processor.SetTransferMemoryPointer(transfer_memory); | 467 | image_transfer_processor.SetTransferMemoryPointer(transfer_memory); |
| 468 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 469 | Common::Input::PollingMode::IR); | ||
| 456 | } | 470 | } |
| 457 | 471 | ||
| 458 | IPC::ResponseBuilder rb{ctx, 2}; | 472 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -479,6 +493,8 @@ void IRS::RunIrLedProcessor(Kernel::HLERequestContext& ctx) { | |||
| 479 | MakeProcessor<IrLedProcessor>(camera_handle, device); | 493 | MakeProcessor<IrLedProcessor>(camera_handle, device); |
| 480 | auto& image_transfer_processor = GetProcessor<IrLedProcessor>(camera_handle); | 494 | auto& image_transfer_processor = GetProcessor<IrLedProcessor>(camera_handle); |
| 481 | image_transfer_processor.SetConfig(processor_config); | 495 | image_transfer_processor.SetConfig(processor_config); |
| 496 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 497 | Common::Input::PollingMode::IR); | ||
| 482 | } | 498 | } |
| 483 | 499 | ||
| 484 | IPC::ResponseBuilder rb{ctx, 2}; | 500 | IPC::ResponseBuilder rb{ctx, 2}; |
| @@ -504,6 +520,8 @@ void IRS::StopImageProcessorAsync(Kernel::HLERequestContext& ctx) { | |||
| 504 | auto result = IsIrCameraHandleValid(parameters.camera_handle); | 520 | auto result = IsIrCameraHandleValid(parameters.camera_handle); |
| 505 | if (result.IsSuccess()) { | 521 | if (result.IsSuccess()) { |
| 506 | // TODO: Stop image processor async | 522 | // TODO: Stop image processor async |
| 523 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, | ||
| 524 | Common::Input::PollingMode::Active); | ||
| 507 | result = ResultSuccess; | 525 | result = ResultSuccess; |
| 508 | } | 526 | } |
| 509 | 527 | ||
diff --git a/src/core/hle/service/nfc/nfc_device.cpp b/src/core/hle/service/nfc/nfc_device.cpp index 78578f723..9a3234e8c 100644 --- a/src/core/hle/service/nfc/nfc_device.cpp +++ b/src/core/hle/service/nfc/nfc_device.cpp | |||
| @@ -130,7 +130,9 @@ Result NfcDevice::StartDetection(NFP::TagProtocol allowed_protocol) { | |||
| 130 | return WrongDeviceState; | 130 | return WrongDeviceState; |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | if (!npad_device->SetPollingMode(Common::Input::PollingMode::NFC)) { | 133 | if (npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, |
| 134 | Common::Input::PollingMode::NFC) != | ||
| 135 | Common::Input::DriverResult::Success) { | ||
| 134 | LOG_ERROR(Service_NFC, "Nfc not supported"); | 136 | LOG_ERROR(Service_NFC, "Nfc not supported"); |
| 135 | return NfcDisabled; | 137 | return NfcDisabled; |
| 136 | } | 138 | } |
| @@ -141,7 +143,8 @@ Result NfcDevice::StartDetection(NFP::TagProtocol allowed_protocol) { | |||
| 141 | } | 143 | } |
| 142 | 144 | ||
| 143 | Result NfcDevice::StopDetection() { | 145 | Result NfcDevice::StopDetection() { |
| 144 | npad_device->SetPollingMode(Common::Input::PollingMode::Active); | 146 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, |
| 147 | Common::Input::PollingMode::Active); | ||
| 145 | 148 | ||
| 146 | if (device_state == NFP::DeviceState::Initialized) { | 149 | if (device_state == NFP::DeviceState::Initialized) { |
| 147 | return ResultSuccess; | 150 | return ResultSuccess; |
diff --git a/src/core/hle/service/nfp/nfp_device.cpp b/src/core/hle/service/nfp/nfp_device.cpp index c860fd1a1..e67a76f55 100644 --- a/src/core/hle/service/nfp/nfp_device.cpp +++ b/src/core/hle/service/nfp/nfp_device.cpp | |||
| @@ -152,7 +152,9 @@ Result NfpDevice::StartDetection(TagProtocol allowed_protocol) { | |||
| 152 | return WrongDeviceState; | 152 | return WrongDeviceState; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | if (!npad_device->SetPollingMode(Common::Input::PollingMode::NFC)) { | 155 | if (npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, |
| 156 | Common::Input::PollingMode::NFC) != | ||
| 157 | Common::Input::DriverResult::Success) { | ||
| 156 | LOG_ERROR(Service_NFP, "Nfc not supported"); | 158 | LOG_ERROR(Service_NFP, "Nfc not supported"); |
| 157 | return NfcDisabled; | 159 | return NfcDisabled; |
| 158 | } | 160 | } |
| @@ -163,7 +165,8 @@ Result NfpDevice::StartDetection(TagProtocol allowed_protocol) { | |||
| 163 | } | 165 | } |
| 164 | 166 | ||
| 165 | Result NfpDevice::StopDetection() { | 167 | Result NfpDevice::StopDetection() { |
| 166 | npad_device->SetPollingMode(Common::Input::PollingMode::Active); | 168 | npad_device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, |
| 169 | Common::Input::PollingMode::Active); | ||
| 167 | 170 | ||
| 168 | if (device_state == DeviceState::Initialized) { | 171 | if (device_state == DeviceState::Initialized) { |
| 169 | return ResultSuccess; | 172 | return ResultSuccess; |