public static bool GetButtonWithDelegate(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player, GetButtonDelegate action) { if (null == OuyaSDK.Joysticks) { return false; } int playerIndex = (int)player - 1; if (playerIndex >= OuyaSDK.Joysticks.Length) { return false; } string joystickName = OuyaSDK.Joysticks[playerIndex]; if (null == joystickName) { return false; } switch (joystickName.ToUpper()) { case "HARMONIX ROCK BAND DRUMKIT": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_GREEN: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_A: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_RED: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_B: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_YELLOW: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_Y: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_BLUE: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_X: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(12, player, action); default: return false; } case "HARMONIX ROCK BAND GUITAR": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_GREEN: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_RED: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_YELLOW: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_BLUE: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_LOWER: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(12, player, action); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_PICKUP: case OuyaSDK.KeyEnum.BUTTON_LT: return false; case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_WHAMMI: case OuyaSDK.KeyEnum.BUTTON_RT: return false; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) < 0f; default: return false; } case "BROADCOM BLUETOOTH HID": case "MOGA PRO HID": switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } case "OUYA GAME CONTROLLER": #if UNITY_4_3 #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(7, player, action); default: return false; #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(13, player, action); default: return false; #endif } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(13, player, action); default: return false; } #endif case "XBOX 360 WIRELESS RECEIVER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } } #endif case "CONTROLLER (AFTERGLOW GAMEPAD FOR XBOX 360)": case "CONTROLLER (ROCK CANDY GAMEPAD FOR XBOX 360)": case "CONTROLLER (XBOX 360 WIRELESS RECEIVER FOR WINDOWS)": case "MICROSOFT X-BOX 360 PAD": case "CONTROLLER (XBOX 360 FOR WINDOWS)": case "CONTROLLER (XBOX360 GAMEPAD)": case "XBOX 360 FOR WINDOWS (CONTROLLER)": case "MICROSOFT WIRELESS 360 CONTROLLER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } } #endif case "": //the driver is reporting the controller as blank #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_SELECT: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_START: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: return GetButton(15, player, action); default: return false; } #endif } return false; } #endregion }
public static void SetGetButtonDelegate(GetButtonDelegate d) { getButtonDelegate = d; }
public static bool GetButton(int buttonNum, OuyaSDK.OuyaPlayer player, GetButtonDelegate action) { string keyCode = GetKeyCode(buttonNum, player); if (string.IsNullOrEmpty(keyCode)) { return false; } OuyaKeyCode key = (OuyaKeyCode)Enum.Parse(typeof(OuyaKeyCode), keyCode); return action((KeyCode)(int)key); }
public static bool GetButtonWithDelegate( OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player, GetButtonDelegate action ) { if (null == OuyaSDK.Joysticks) { return false; } int playerIndex = (int) player - 1; if (playerIndex >= OuyaSDK.Joysticks.Length) { return false; } string joystickName = OuyaSDK.Joysticks[playerIndex]; if (null == joystickName) { return false; } if (joystickName.Equals( "Broadcom Bluetooth HID", StringComparison.CurrentCultureIgnoreCase )) { if (SystemInfo.deviceModel.Contains( "M.O.J.O." )) { // The M.O.J.O. reports the wrong name for the OUYA Game Controller joystickName = "OUYA Game Controller"; } } switch (joystickName.ToUpper()) { case "HARMONIX ROCK BAND DRUMKIT": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_GREEN: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_A: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_RED: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_B: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_YELLOW: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_Y: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_BLUE: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_X: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 10, player, action ); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 12, player, action ); default: return false; } case "HARMONIX ROCK BAND GUITAR": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_GREEN: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_RED: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_YELLOW: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_BLUE: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_LOWER: return GetButton( 13, player, action ); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 10, player, action ); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 12, player, action ); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_PICKUP: case OuyaSDK.KeyEnum.BUTTON_LT: return false; case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_WHAMMI: case OuyaSDK.KeyEnum.BUTTON_RT: return false; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) < 0f; default: return false; } case "BROADCOM BLUETOOTH HID": case "MOGA PRO HID": switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 13, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 14, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > 0f; default: return false; } case "MAD CATZ C.T.R.L.R (SMART)": switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 2, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > 0f; default: return false; } default: case "OUYA GAME CONTROLLER": #if UNITY_4_3 #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(7, player, action); default: return false; #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 2, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton( 10, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton( 12, player, action ); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton( 13, player, action ); default: return false; #endif } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(8, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(9, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(12, player, action); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(13, player, action); default: return false; } #endif case "XBOX 360 WIRELESS RECEIVER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 13, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 14, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 16, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 18, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 19, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 17, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 12, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 2, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > 0f; default: return false; } } #endif case "CONTROLLER (AFTERGLOW GAMEPAD FOR XBOX 360)": case "CONTROLLER (ROCK CANDY GAMEPAD FOR XBOX 360)": case "CONTROLLER (XBOX 360 WIRELESS RECEIVER FOR WINDOWS)": case "MICROSOFT X-BOX 360 PAD": case "CONTROLLER (XBOX 360 FOR WINDOWS)": case "CONTROLLER (XBOX360 GAMEPAD)": case "XBOX 360 FOR WINDOWS (CONTROLLER)": case "MICROSOFT WIRELESS 360 CONTROLLER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 13, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 14, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 16, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 18, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 19, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 17, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 12, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 2, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > 0f; default: return false; } } #endif case "LOGITECH DUAL ACTION": case "LOGITECH LOGITECH DUAL ACTION": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(2, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(10, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(11, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 4, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 1, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 0, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 3, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 2, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 10, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis( keyCode, player ) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_SELECT: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_START: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: return GetButton( 15, player, action ); default: return false; } #endif case "": //the driver is reporting the controller as blank #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player, action); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player, action); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player, action); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player, action); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player, action); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player, action); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player, action); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player, action); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton( 13, player, action ); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton( 14, player, action ); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton( 16, player, action ); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton( 18, player, action ); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton( 19, player, action ); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton( 17, player, action ); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton( 11, player, action ); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton( 12, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton( 5, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton( 6, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton( 7, player, action ); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton( 8, player, action ); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis( keyCode, player ) > 0f; case OuyaSDK.KeyEnum.BUTTON_SELECT: return GetButton( 10, player, action ); case OuyaSDK.KeyEnum.BUTTON_START: return GetButton( 9, player, action ); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: return GetButton( 15, player, action ); default: return false; } #endif } #pragma warning disable 0162 return false; } #endregion }