mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-19 19:15:26 +00: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");
|
||||
|
||||
#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;
|
||||
#endif
|
||||
|
||||
|
@ -192,7 +192,15 @@ void hid_pad_handler<Device>::enumerate_devices()
|
|||
std::lock_guard lock(g_android_usb_devices_mutex);
|
||||
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
|
||||
|
|
|
@ -15,8 +15,16 @@
|
|||
#ifdef ANDROID
|
||||
using hid_enumerated_device_type = 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;
|
||||
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;
|
||||
#else
|
||||
using hid_enumerated_device_type = std::string;
|
||||
|
|
Loading…
Add table
Reference in a new issue