diff --git a/input/common/hid/device_ds3.c b/input/common/hid/device_ds3.c index 04325ace7b..9af43ac1c6 100644 --- a/input/common/hid/device_ds3.c +++ b/input/common/hid/device_ds3.c @@ -18,9 +18,10 @@ static bool ds3_detect(uint16_t vendor_id, uint16_t product_id) { - return false; + return vendor_id == VID_SONY && product_id == PID_SONY_DS3; } hid_device_t ds3_hid_device = { - ds3_detect + ds3_detect, + "Sony DualShock 3" }; diff --git a/input/common/hid/device_ds4.c b/input/common/hid/device_ds4.c index 0f049e5cbc..7c90ebaf0a 100644 --- a/input/common/hid/device_ds4.c +++ b/input/common/hid/device_ds4.c @@ -18,9 +18,10 @@ static bool ds4_detect(uint16_t vendor_id, uint16_t product_id) { - return false; + return vendor_id == VID_SONY && product_id == PID_SONY_DS4; } hid_device_t ds4_hid_device = { - ds4_detect + ds4_detect, + "Sony DualShock 4" }; diff --git a/input/common/hid/device_wiiu_gca.c b/input/common/hid/device_wiiu_gca.c index 0829a22ac1..ec68aa897d 100644 --- a/input/common/hid/device_wiiu_gca.c +++ b/input/common/hid/device_wiiu_gca.c @@ -17,9 +17,10 @@ #include "hid_device_driver.h" static bool wiiu_gca_detect(uint16_t vendor_id, uint16_t product_id) { - return false; + return vendor_id == VID_NINTENDO && product_id == PID_NINTENDO_GCA; } hid_device_t wiiu_gca_hid_device = { - wiiu_gca_detect + wiiu_gca_detect, + "Wii U Gamecube Adapter" }; diff --git a/input/common/hid/hid_device_driver.h b/input/common/hid/hid_device_driver.h index 90e0659026..a3259aee52 100644 --- a/input/common/hid/hid_device_driver.h +++ b/input/common/hid/hid_device_driver.h @@ -18,9 +18,11 @@ #define HID_DEVICE_DRIVER__H #include "../../input_driver.h" +#include "../../connect/joypad_connection.h" typedef struct hid_device { bool (*detect)(uint16_t vid, uint16_t pid); + const char *name; } hid_device_t; extern hid_device_t wiiu_gca_hid_device; diff --git a/wiiu/input/wiiu_hid.c b/wiiu/input/wiiu_hid.c index 43eb372752..f2656a4cbb 100644 --- a/wiiu/input/wiiu_hid.c +++ b/wiiu/input/wiiu_hid.c @@ -656,6 +656,7 @@ static wiiu_attach_event *new_attach_event(HIDDevice *device) device->vid, device->pid); return NULL; } + RARCH_LOG("[hid]: Found HID device driver: %s\n", driver->name); wiiu_attach_event *event = alloc_zeroed(4, sizeof(wiiu_attach_event)); if(!event) return NULL;