| Index: content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java b/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java
|
| deleted file mode 100644
|
| index 1ded67f0bddd1465d72c7892f92614398ec34f68..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/input/GamepadMappings.java
|
| +++ /dev/null
|
| @@ -1,254 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.content.browser.input;
|
| -
|
| -import android.view.KeyEvent;
|
| -import android.view.MotionEvent;
|
| -
|
| -import org.chromium.base.VisibleForTesting;
|
| -import org.chromium.base.annotations.JNINamespace;
|
| -
|
| -/**
|
| - * Class to manage mapping information related to each supported gamepad controller device.
|
| - */
|
| -@JNINamespace("content")
|
| -class GamepadMappings {
|
| - @VisibleForTesting
|
| - static final String NVIDIA_SHIELD_DEVICE_NAME_PREFIX = "NVIDIA Corporation NVIDIA Controller";
|
| - @VisibleForTesting
|
| - static final String MICROSOFT_XBOX_PAD_DEVICE_NAME = "Microsoft X-Box 360 pad";
|
| - @VisibleForTesting
|
| - static final String PS3_SIXAXIS_DEVICE_NAME = "Sony PLAYSTATION(R)3 Controller";
|
| - @VisibleForTesting
|
| - static final String SAMSUNG_EI_GP20_DEVICE_NAME = "Samsung Game Pad EI-GP20";
|
| - @VisibleForTesting
|
| - static final String AMAZON_FIRE_DEVICE_NAME = "Amazon Fire Game Controller";
|
| -
|
| - public static boolean mapToStandardGamepad(float[] mappedAxes, float[] mappedButtons,
|
| - float[] rawAxes, float[] rawButtons, String deviceName) {
|
| - if (deviceName.startsWith(NVIDIA_SHIELD_DEVICE_NAME_PREFIX)) {
|
| - mapShieldGamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return true;
|
| - } else if (deviceName.equals(MICROSOFT_XBOX_PAD_DEVICE_NAME)) {
|
| - mapXBox360Gamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return true;
|
| - } else if (deviceName.equals(PS3_SIXAXIS_DEVICE_NAME)) {
|
| - mapPS3SixAxisGamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return true;
|
| - } else if (deviceName.equals(SAMSUNG_EI_GP20_DEVICE_NAME)) {
|
| - mapSamsungEIGP20Gamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return true;
|
| - } else if (deviceName.equals(AMAZON_FIRE_DEVICE_NAME)) {
|
| - mapAmazonFireGamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return true;
|
| - }
|
| -
|
| - mapUnknownGamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - return false;
|
| - }
|
| -
|
| - private static void mapCommonXYABButtons(float[] mappedButtons, float[] rawButtons) {
|
| - float a = rawButtons[KeyEvent.KEYCODE_BUTTON_A];
|
| - float b = rawButtons[KeyEvent.KEYCODE_BUTTON_B];
|
| - float x = rawButtons[KeyEvent.KEYCODE_BUTTON_X];
|
| - float y = rawButtons[KeyEvent.KEYCODE_BUTTON_Y];
|
| - mappedButtons[CanonicalButtonIndex.PRIMARY] = a;
|
| - mappedButtons[CanonicalButtonIndex.SECONDARY] = b;
|
| - mappedButtons[CanonicalButtonIndex.TERTIARY] = x;
|
| - mappedButtons[CanonicalButtonIndex.QUATERNARY] = y;
|
| - }
|
| -
|
| - private static void mapCommonStartSelectMetaButtons(
|
| - float[] mappedButtons, float[] rawButtons) {
|
| - float start = rawButtons[KeyEvent.KEYCODE_BUTTON_START];
|
| - float select = rawButtons[KeyEvent.KEYCODE_BUTTON_SELECT];
|
| - float mode = rawButtons[KeyEvent.KEYCODE_BUTTON_MODE];
|
| - mappedButtons[CanonicalButtonIndex.START] = start;
|
| - mappedButtons[CanonicalButtonIndex.BACK_SELECT] = select;
|
| - mappedButtons[CanonicalButtonIndex.META] = mode;
|
| - }
|
| -
|
| - private static void mapCommonThumbstickButtons(float[] mappedButtons, float[] rawButtons) {
|
| - float thumbL = rawButtons[KeyEvent.KEYCODE_BUTTON_THUMBL];
|
| - float thumbR = rawButtons[KeyEvent.KEYCODE_BUTTON_THUMBR];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_THUMBSTICK] = thumbL;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_THUMBSTICK] = thumbR;
|
| - }
|
| -
|
| - private static void mapCommonTriggerButtons(float[] mappedButtons, float[] rawButtons) {
|
| - float l1 = rawButtons[KeyEvent.KEYCODE_BUTTON_L1];
|
| - float r1 = rawButtons[KeyEvent.KEYCODE_BUTTON_R1];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_TRIGGER] = l1;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER] = r1;
|
| - }
|
| -
|
| - private static void mapTriggerButtonsToTopShoulder(float[] mappedButtons, float[] rawButtons) {
|
| - float l1 = rawButtons[KeyEvent.KEYCODE_BUTTON_L1];
|
| - float r1 = rawButtons[KeyEvent.KEYCODE_BUTTON_R1];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_SHOULDER] = l1;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_SHOULDER] = r1;
|
| - }
|
| -
|
| - private static void mapCommonDpadButtons(float[] mappedButtons, float[] rawButtons) {
|
| - float dpadDown = rawButtons[KeyEvent.KEYCODE_DPAD_DOWN];
|
| - float dpadUp = rawButtons[KeyEvent.KEYCODE_DPAD_UP];
|
| - float dpadLeft = rawButtons[KeyEvent.KEYCODE_DPAD_LEFT];
|
| - float dpadRight = rawButtons[KeyEvent.KEYCODE_DPAD_RIGHT];
|
| - mappedButtons[CanonicalButtonIndex.DPAD_DOWN] = dpadDown;
|
| - mappedButtons[CanonicalButtonIndex.DPAD_UP] = dpadUp;
|
| - mappedButtons[CanonicalButtonIndex.DPAD_LEFT] = dpadLeft;
|
| - mappedButtons[CanonicalButtonIndex.DPAD_RIGHT] = dpadRight;
|
| - }
|
| -
|
| - private static void mapXYAxes(float[] mappedAxes, float[] rawAxes) {
|
| - mappedAxes[CanonicalAxisIndex.LEFT_STICK_X] = rawAxes[MotionEvent.AXIS_X];
|
| - mappedAxes[CanonicalAxisIndex.LEFT_STICK_Y] = rawAxes[MotionEvent.AXIS_Y];
|
| - }
|
| -
|
| - private static void mapRXAndRYAxesToRightStick(float[] mappedAxes, float[] rawAxes) {
|
| - mappedAxes[CanonicalAxisIndex.RIGHT_STICK_X] = rawAxes[MotionEvent.AXIS_RX];
|
| - mappedAxes[CanonicalAxisIndex.RIGHT_STICK_Y] = rawAxes[MotionEvent.AXIS_RY];
|
| - }
|
| -
|
| - private static void mapZAndRZAxesToRightStick(float[] mappedAxes, float[] rawAxes) {
|
| - mappedAxes[CanonicalAxisIndex.RIGHT_STICK_X] = rawAxes[MotionEvent.AXIS_Z];
|
| - mappedAxes[CanonicalAxisIndex.RIGHT_STICK_Y] = rawAxes[MotionEvent.AXIS_RZ];
|
| - }
|
| -
|
| - private static void mapTriggerAxexToShoulderButtons(float[] mappedButtons, float[] rawAxes) {
|
| - float lTrigger = rawAxes[MotionEvent.AXIS_LTRIGGER];
|
| - float rTrigger = rawAxes[MotionEvent.AXIS_RTRIGGER];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_SHOULDER] = lTrigger;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_SHOULDER] = rTrigger;
|
| - }
|
| -
|
| - private static void mapPedalAxesToBottomShoulder(float[] mappedButtons, float[] rawAxes) {
|
| - float lTrigger = rawAxes[MotionEvent.AXIS_BRAKE];
|
| - float rTrigger = rawAxes[MotionEvent.AXIS_GAS];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_TRIGGER] = lTrigger;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER] = rTrigger;
|
| - }
|
| -
|
| - private static void mapTriggerAxesToBottomShoulder(float[] mappedButtons, float[] rawAxes) {
|
| - float lTrigger = rawAxes[MotionEvent.AXIS_LTRIGGER];
|
| - float rTrigger = rawAxes[MotionEvent.AXIS_RTRIGGER];
|
| - mappedButtons[CanonicalButtonIndex.LEFT_TRIGGER] = lTrigger;
|
| - mappedButtons[CanonicalButtonIndex.RIGHT_TRIGGER] = rTrigger;
|
| - }
|
| -
|
| - @VisibleForTesting
|
| - static float negativeAxisValueAsButton(float input) {
|
| - return (input < -0.5f) ? 1.f : 0.f;
|
| - }
|
| -
|
| - @VisibleForTesting
|
| - static float positiveAxisValueAsButton(float input) {
|
| - return (input > 0.5f) ? 1.f : 0.f;
|
| - }
|
| -
|
| - private static void mapHatAxisToDpadButtons(float[] mappedButtons, float[] rawAxes) {
|
| - float hatX = rawAxes[MotionEvent.AXIS_HAT_X];
|
| - float hatY = rawAxes[MotionEvent.AXIS_HAT_Y];
|
| - mappedButtons[CanonicalButtonIndex.DPAD_LEFT] = negativeAxisValueAsButton(hatX);
|
| - mappedButtons[CanonicalButtonIndex.DPAD_RIGHT] = positiveAxisValueAsButton(hatX);
|
| - mappedButtons[CanonicalButtonIndex.DPAD_UP] = negativeAxisValueAsButton(hatY);
|
| - mappedButtons[CanonicalButtonIndex.DPAD_DOWN] = positiveAxisValueAsButton(hatY);
|
| - }
|
| -
|
| - /**
|
| - * Method for mapping Amazon Fire gamepad axis and button values
|
| - * to standard gamepad button and axes values.
|
| - */
|
| - private static void mapAmazonFireGamepad(
|
| - float[] mappedButtons, float[] rawButtons, float[] mappedAxes, float[] rawAxes) {
|
| - mapCommonXYABButtons(mappedButtons, rawButtons);
|
| - mapTriggerButtonsToTopShoulder(mappedButtons, rawButtons);
|
| - mapCommonThumbstickButtons(mappedButtons, rawButtons);
|
| - mapCommonStartSelectMetaButtons(mappedButtons, rawButtons);
|
| - mapPedalAxesToBottomShoulder(mappedButtons, rawAxes);
|
| - mapHatAxisToDpadButtons(mappedButtons, rawAxes);
|
| -
|
| - mapXYAxes(mappedAxes, rawAxes);
|
| - mapZAndRZAxesToRightStick(mappedAxes, rawAxes);
|
| - }
|
| -
|
| - /**
|
| - * Method for mapping Nvidia gamepad axis and button values
|
| - * to standard gamepad button and axes values.
|
| - */
|
| - private static void mapShieldGamepad(float[] mappedButtons, float[] rawButtons,
|
| - float[] mappedAxes, float[] rawAxes) {
|
| - mapCommonXYABButtons(mappedButtons, rawButtons);
|
| - mapTriggerButtonsToTopShoulder(mappedButtons, rawButtons);
|
| - mapCommonThumbstickButtons(mappedButtons, rawButtons);
|
| - mapCommonStartSelectMetaButtons(mappedButtons, rawButtons);
|
| - mapTriggerAxesToBottomShoulder(mappedButtons, rawAxes);
|
| - mapHatAxisToDpadButtons(mappedButtons, rawAxes);
|
| -
|
| - mapXYAxes(mappedAxes, rawAxes);
|
| - mapZAndRZAxesToRightStick(mappedAxes, rawAxes);
|
| - }
|
| -
|
| - /**
|
| - * Method for mapping Microsoft XBox 360 gamepad axis and button values
|
| - * to standard gamepad button and axes values.
|
| - */
|
| - private static void mapXBox360Gamepad(float[] mappedButtons, float[] rawButtons,
|
| - float[] mappedAxes, float[] rawAxes) {
|
| - // These are actually mapped the same way in Android.
|
| - mapShieldGamepad(mappedButtons, rawButtons, mappedAxes, rawAxes);
|
| - }
|
| -
|
| - private static void mapPS3SixAxisGamepad(float[] mappedButtons, float[] rawButtons,
|
| - float[] mappedAxes, float[] rawAxes) {
|
| - // On PS3 X/Y has higher priority.
|
| - float a = rawButtons[KeyEvent.KEYCODE_BUTTON_A];
|
| - float b = rawButtons[KeyEvent.KEYCODE_BUTTON_B];
|
| - float x = rawButtons[KeyEvent.KEYCODE_BUTTON_X];
|
| - float y = rawButtons[KeyEvent.KEYCODE_BUTTON_Y];
|
| - mappedButtons[CanonicalButtonIndex.PRIMARY] = x;
|
| - mappedButtons[CanonicalButtonIndex.SECONDARY] = y;
|
| - mappedButtons[CanonicalButtonIndex.TERTIARY] = a;
|
| - mappedButtons[CanonicalButtonIndex.QUATERNARY] = b;
|
| -
|
| - mapCommonTriggerButtons(mappedButtons, rawButtons);
|
| - mapCommonThumbstickButtons(mappedButtons, rawButtons);
|
| - mapCommonDpadButtons(mappedButtons, rawButtons);
|
| - mapCommonStartSelectMetaButtons(mappedButtons, rawButtons);
|
| - mapTriggerAxexToShoulderButtons(mappedButtons, rawAxes);
|
| -
|
| - mapXYAxes(mappedAxes, rawAxes);
|
| - mapZAndRZAxesToRightStick(mappedAxes, rawAxes);
|
| - }
|
| -
|
| - private static void mapSamsungEIGP20Gamepad(float[] mappedButtons, float[] rawButtons,
|
| - float[] mappedAxes, float[] rawAxes) {
|
| - mapCommonXYABButtons(mappedButtons, rawButtons);
|
| - mapCommonTriggerButtons(mappedButtons, rawButtons);
|
| - mapCommonThumbstickButtons(mappedButtons, rawButtons);
|
| - mapCommonStartSelectMetaButtons(mappedButtons, rawButtons);
|
| - mapHatAxisToDpadButtons(mappedButtons, rawAxes);
|
| -
|
| - mapXYAxes(mappedAxes, rawAxes);
|
| - mapRXAndRYAxesToRightStick(mappedAxes, rawAxes);
|
| - }
|
| -
|
| - /**
|
| - * Method for mapping Unkown gamepad axis and button values
|
| - * to standard gamepad button and axes values.
|
| - */
|
| - private static void mapUnknownGamepad(float[] mappedButtons, float[] rawButtons,
|
| - float[] mappedAxes, float[] rawAxes) {
|
| - mapCommonXYABButtons(mappedButtons, rawButtons);
|
| - mapCommonTriggerButtons(mappedButtons, rawButtons);
|
| - mapCommonThumbstickButtons(mappedButtons, rawButtons);
|
| - mapCommonStartSelectMetaButtons(mappedButtons, rawButtons);
|
| - mapTriggerAxexToShoulderButtons(mappedButtons, rawAxes);
|
| - mapCommonDpadButtons(mappedButtons, rawButtons);
|
| -
|
| - mapXYAxes(mappedAxes, rawAxes);
|
| - mapRXAndRYAxesToRightStick(mappedAxes, rawAxes);
|
| - }
|
| -}
|
|
|