From 721fbeda7e46284437ef482db762477f2237eb7d Mon Sep 17 00:00:00 2001 From: AridRayne Date: Mon, 16 Dec 2013 08:41:41 -0800 Subject: [PATCH] Added an iCade profile for the Moga Hero Power controller, it might work with other Moga controllers that have a HID mode. --- android/native/jni/input_android.c | 13 +++++++++++++ android/native/jni/input_autodetect.h | 1 + android/phoenix/res/values/array.xml | 2 ++ 3 files changed, 16 insertions(+) diff --git a/android/native/jni/input_android.c b/android/native/jni/input_android.c index 0457b6bc45..c871a3a395 100644 --- a/android/native/jni/input_android.c +++ b/android/native/jni/input_android.c @@ -1362,6 +1362,19 @@ static void android_input_set_keybinds(void *data, unsigned device, android->keycode_lut[AKEYCODE_9] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift); android->keycode_lut[AKEYCODE_0] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift); break; + case ICADE_PROFILE_MOGA_HERO_POWER: + strlcpy(g_settings.input.device_names[port], "Moga Hero Power", + sizeof(g_settings.input.device_names[port])); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_0] |= ((RETRO_DEVICE_ID_JOYPAD_B+1) << shift); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_1] |= ((RETRO_DEVICE_ID_JOYPAD_A+1) << shift); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_3] |= ((RETRO_DEVICE_ID_JOYPAD_Y+1) << shift); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_4] |= ((RETRO_DEVICE_ID_JOYPAD_X+1) << shift); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_6] |= ((RETRO_DEVICE_ID_JOYPAD_L+1) << shift); + android->keycode_lut[AKEYCODE_NUMPAD_LCK_7] |= ((RETRO_DEVICE_ID_JOYPAD_R+1) << shift); + android->keycode_lut[AKEYCODE_BACK] |= ((RETRO_DEVICE_ID_JOYPAD_SELECT+1) << shift); + android->keycode_lut[AKEYCODE_OTHR_108] |= ((RETRO_DEVICE_ID_JOYPAD_START+1) << shift); + android->keycode_lut[AKEYCODE_BUTTON_THUMBL] |= ((RETRO_DEVICE_ID_JOYPAD_L3+1) << shift); + android->keycode_lut[AKEYCODE_BUTTON_THUMBR] |= ((RETRO_DEVICE_ID_JOYPAD_R3+1) << shift); } } break; diff --git a/android/native/jni/input_autodetect.h b/android/native/jni/input_autodetect.h index 2f9fdc3c85..cb29acc83a 100644 --- a/android/native/jni/input_autodetect.h +++ b/android/native/jni/input_autodetect.h @@ -27,6 +27,7 @@ enum { ICADE_PROFILE_IPEGA_PG9017_MODE2, ICADE_PROFILE_GAMESTOP_WIRELESS, ICADE_PROFILE_G910, + ICADE_PROFILE_MOGA_HERO_POWER, } icade_profile_enums; enum { diff --git a/android/phoenix/res/values/array.xml b/android/phoenix/res/values/array.xml index d34d91f5b6..6f7a1d053e 100644 --- a/android/phoenix/res/values/array.xml +++ b/android/phoenix/res/values/array.xml @@ -52,6 +52,7 @@ iPega PG-9017 (Mode 2) Gamestop Wireless G910 + Moga Hero Power @@ -60,6 +61,7 @@ 2 3 4 + 5