android.view.MotionEvent#AXIS_Z源码实例Demo

下面列出了android.view.MotionEvent#AXIS_Z 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: citra_android   文件: ControllerMappingHelper.java
/**
 * Scale an axis to be zero-centered with a proper range.
 */
public float scaleAxis(InputDevice inputDevice, int axis, float value)
{
  if (isDualShock4(inputDevice))
  {
    // Android doesn't have correct mappings for this controller's triggers. It reports them
    // as RX & RY, centered at -1.0, and with a range of [-1.0, 1.0]
    // Scale them to properly zero-centered with a range of [0.0, 1.0].
    if (axis == MotionEvent.AXIS_RX || axis == MotionEvent.AXIS_RY)
    {
      return (value + 1) / 2.0f;
    }
  }
  else if (isXboxOneWireless(inputDevice))
  {
    // Same as the DualShock 4, the mappings are missing.
    if (axis == MotionEvent.AXIS_Z || axis == MotionEvent.AXIS_RZ)
    {
      return (value + 1) / 2.0f;
    }
    if (axis == MotionEvent.AXIS_GENERIC_1)
    {
      // This axis is stuck at ~.5. Ignore it.
      return 0.0f;
    }
  }
  else if (isMogaPro2Hid(inputDevice))
  {
    // This controller has a broken axis that reports a constant value. Ignore it.
    if (axis == MotionEvent.AXIS_GENERIC_1)
    {
      return 0.0f;
    }
  }
  return value;
}
 
源代码2 项目: 365browser   文件: GamepadMappings.java
UnknownGamepadMappings(int[] axes) {
    int hatAxesFound = 0;

    for (int axis : axes) {
        switch (axis) {
            case MotionEvent.AXIS_LTRIGGER:
            case MotionEvent.AXIS_BRAKE:
                mLeftTriggerAxis = axis;
                break;
            case MotionEvent.AXIS_RTRIGGER:
            case MotionEvent.AXIS_GAS:
            case MotionEvent.AXIS_THROTTLE:
                mRightTriggerAxis = axis;
                break;
            case MotionEvent.AXIS_RX:
            case MotionEvent.AXIS_Z:
                mRightStickXAxis = axis;
                break;
            case MotionEvent.AXIS_RY:
            case MotionEvent.AXIS_RZ:
                mRightStickYAxis = axis;
                break;
            case MotionEvent.AXIS_HAT_X:
                hatAxesFound++;
                break;
            case MotionEvent.AXIS_HAT_Y:
                hatAxesFound++;
                break;
            default:
                break;
        }
    }

    if (hatAxesFound == 2) {
        mUseHatAxes = true;
    }
}
 
源代码3 项目: 365browser   文件: GamepadMappings.java
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];
}
 
源代码4 项目: jmonkeyengine   文件: AndroidJoystickJoyInput14.java
protected JoystickAxis addAxis(MotionRange motionRange) {

            String name = MotionEvent.axisToString(motionRange.getAxis());

            String original = MotionEvent.axisToString(motionRange.getAxis());
            if (motionRange.getAxis() == MotionEvent.AXIS_X) {
                original = JoystickAxis.X_AXIS;
            } else if (motionRange.getAxis() == MotionEvent.AXIS_Y) {
                original = JoystickAxis.Y_AXIS;
            } else if (motionRange.getAxis() == MotionEvent.AXIS_Z) {
                original = JoystickAxis.Z_AXIS;
            } else if (motionRange.getAxis() == MotionEvent.AXIS_RZ) {
                original = JoystickAxis.Z_ROTATION;
            } else if (motionRange.getAxis() == MotionEvent.AXIS_HAT_X) {
                original = JoystickAxis.POV_X;
            } else if (motionRange.getAxis() == MotionEvent.AXIS_HAT_Y) {
                original = JoystickAxis.POV_Y;
            }
            String logicalId = JoystickCompatibilityMappings.remapComponent( getName(), original );
            if( logicalId == null ? original != null : !logicalId.equals(original) ) {
                logger.log(Level.FINE, "Remapped: {0} to: {1}",
                        new Object[]{original, logicalId});
            }

            JoystickAxis axis = new DefaultJoystickAxis(getInputManager(),
                                                this,
                                                getAxisCount(),
                                                name,
                                                logicalId,
                                                true,
                                                true,
                                                motionRange.getFlat());

            if (motionRange.getAxis() == MotionEvent.AXIS_X) {
                xAxis = axis;
            }
            if (motionRange.getAxis() == MotionEvent.AXIS_Y) {
                yAxis = axis;
            }
            if (motionRange.getAxis() == MotionEvent.AXIS_HAT_X) {
                povX = axis;
            }
            if (motionRange.getAxis() == MotionEvent.AXIS_HAT_Y) {
                povY = axis;
            }

            addAxis(axis);
            axisIndex.put(motionRange.getAxis(), axis);
            return axis;
        }