diff --git a/android/native/jni/input_autodetect.c b/android/native/jni/input_autodetect.c
index 37c072314a..f717e1d567 100644
--- a/android/native/jni/input_autodetect.c
+++ b/android/native/jni/input_autodetect.c
@@ -651,6 +651,17 @@ void input_autodetect_setup (void *data, char *msg, size_t sizeof_msg, unsigned
keycode_lut[AKEYCODE_3] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
keycode_lut[AKEYCODE_4] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
break;
+ case ICADE_PROFILE_IPEGA_PG9017:
+ /* Todo: diagonals - patchy? */
+ keycode_lut[AKEYCODE_BUTTON_1] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_2] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_3] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_4] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_5] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_6] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_9] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift);
+ keycode_lut[AKEYCODE_BUTTON_10] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift);
+ break;
}
}
}
diff --git a/android/native/jni/input_autodetect.h b/android/native/jni/input_autodetect.h
index b13fc54cc8..ce96d6393d 100644
--- a/android/native/jni/input_autodetect.h
+++ b/android/native/jni/input_autodetect.h
@@ -23,6 +23,7 @@
enum {
ICADE_PROFILE_RED_SAMURAI = 0,
+ ICADE_PROFILE_IPEGA_PG9017,
} icade_profile_enums;
enum {
diff --git a/android/phoenix/res/values/array.xml b/android/phoenix/res/values/array.xml
index 62e8ba9e71..fa494636ba 100644
--- a/android/phoenix/res/values/array.xml
+++ b/android/phoenix/res/values/array.xml
@@ -22,10 +22,12 @@
- Red Samurai
+ - iPega PG-9017
- 0
+ - 1