|
|
|
@ -5,6 +5,7 @@
|
|
|
|
|
|
|
|
|
|
#include "common/param_package.h"
|
|
|
|
|
#include "common/polyfill_ranges.h"
|
|
|
|
|
#include "common/polyfill_thread.h"
|
|
|
|
|
#include "common/settings.h"
|
|
|
|
|
#include "common/thread.h"
|
|
|
|
|
#include "input_common/drivers/joycon.h"
|
|
|
|
@ -67,7 +68,8 @@ void Joycons::Setup() {
|
|
|
|
|
void Joycons::ScanThread(std::stop_token stop_token) {
|
|
|
|
|
constexpr u16 nintendo_vendor_id = 0x057e;
|
|
|
|
|
Common::SetCurrentThreadName("JoyconScanThread");
|
|
|
|
|
while (!stop_token.stop_requested()) {
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
SDL_hid_device_info* devs = SDL_hid_enumerate(nintendo_vendor_id, 0x0);
|
|
|
|
|
SDL_hid_device_info* cur_dev = devs;
|
|
|
|
|
|
|
|
|
@ -81,8 +83,7 @@ void Joycons::ScanThread(std::stop_token stop_token) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SDL_hid_free_enumeration(devs);
|
|
|
|
|
std::this_thread::sleep_for(std::chrono::seconds(5));
|
|
|
|
|
}
|
|
|
|
|
} while (Common::StoppableTimedWait(stop_token, std::chrono::seconds{5}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Joycons::IsDeviceNew(SDL_hid_device_info* device_info) const {
|
|
|
|
|