mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
[android] hid: enumerate by vendor/product ids
This commit is contained in:
parent
8100779512
commit
0c233c6578
2 changed files with 19 additions and 3 deletions
|
@ -19,7 +19,7 @@
|
||||||
LOG_CHANNEL(hid_log, "HID");
|
LOG_CHANNEL(hid_log, "HID");
|
||||||
|
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
std::vector<int> g_android_usb_devices;
|
std::vector<android_usb_device> g_android_usb_devices;
|
||||||
std::mutex g_android_usb_devices_mutex;
|
std::mutex g_android_usb_devices_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -192,7 +192,15 @@ void hid_pad_handler<Device>::enumerate_devices()
|
||||||
std::lock_guard lock(g_android_usb_devices_mutex);
|
std::lock_guard lock(g_android_usb_devices_mutex);
|
||||||
for (auto device : g_android_usb_devices)
|
for (auto device : g_android_usb_devices)
|
||||||
{
|
{
|
||||||
device_paths.insert(device);
|
auto filter = [&](id_pair id)
|
||||||
|
{
|
||||||
|
return id.m_vid == device.vendorId && id.m_pid == device.productId;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (std::find_if(m_ids.begin(), m_ids.end(), filter) != m_ids.end())
|
||||||
|
{
|
||||||
|
device_paths.insert(device.fd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -15,8 +15,16 @@
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
using hid_enumerated_device_type = int;
|
using hid_enumerated_device_type = int;
|
||||||
using hid_enumerated_device_view = int;
|
using hid_enumerated_device_view = int;
|
||||||
|
|
||||||
|
struct android_usb_device
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
u16 vendorId;
|
||||||
|
u16 productId;
|
||||||
|
};
|
||||||
|
|
||||||
inline constexpr auto hid_enumerated_device_default = -1;
|
inline constexpr auto hid_enumerated_device_default = -1;
|
||||||
extern std::vector<int> g_android_usb_devices;
|
extern std::vector<android_usb_device> g_android_usb_devices;
|
||||||
extern std::mutex g_android_usb_devices_mutex;
|
extern std::mutex g_android_usb_devices_mutex;
|
||||||
#else
|
#else
|
||||||
using hid_enumerated_device_type = std::string;
|
using hid_enumerated_device_type = std::string;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue