diff --git a/input/drivers/android_input.c b/input/drivers/android_input.c index a43a4860a3..e6994beb84 100644 --- a/input/drivers/android_input.c +++ b/input/drivers/android_input.c @@ -647,25 +647,25 @@ static void handle_hotplug(android_input_data_t *android_data, } /* GPD XD */ - else if(strstr(device_model, "XD") && ( - strstr(device_name, "Virtual") || strstr(device_name, "rk29-keypad") || - strstr(device_name,"Playstation3") || strstr(device_name,"XBOX"))) - { - /* only use the hack if the device is one of the built-in devices */ - RARCH_LOG("GPD XD Detected: %s\n", device_model); - { - if ( primary_id < 0 ) - primary_id = id; - else - secondary_id = id; + else if(strstr(device_model, "XD") && ( + strstr(device_name, "Virtual") || strstr(device_name, "rk29-keypad") || + strstr(device_name,"Playstation3") || strstr(device_name,"XBOX"))) + { + /* only use the hack if the device is one of the built-in devices */ + RARCH_LOG("GPD XD Detected: %s\n", device_model); + { + if ( primary_id < 0 ) + primary_id = id; + else + secondary_id = id; - if ( secondary_id > 0) - return; + if ( secondary_id > 0) + return; - strlcpy (name_buf, "GPD XD", sizeof(name_buf)); - *port = 0; - } - } + strlcpy (name_buf, "GPD XD", sizeof(name_buf)); + *port = 0; + } + } /* XPERIA Play */ else if(strstr(device_model, "R800") && ( @@ -687,6 +687,26 @@ static void handle_hotplug(android_input_data_t *android_data, } } + /* ARCHOS Gamepad */ + else if(strstr(device_model, "ARCHOS GAMEPAD") && ( + strstr(device_name, "joy_key") || strstr(device_name, "joystick"))) + { + /* only use the hack if the device is one of the built-in devices */ + RARCH_LOG("ARCHOS GAMEPAD Detected: %s\n", device_model); + { + if ( primary_id < 0 ) + primary_id = id; + else + secondary_id = id; + + if ( secondary_id > 0) + return; + + strlcpy (name_buf, "ARCHOS GamePad", sizeof(name_buf)); + *port = 0; + } + } + else if (strstr(device_name, "iControlPad-")) strlcpy(name_buf, "iControlPad HID Joystick profile", sizeof(name_buf));