public override bool OnGenericMotionEvent (MotionEvent e) { AmazonFireGameController.SetDPad(e.GetAxisValue(Axis.HatX)); AmazonFireGameController.SetLeftAnalogStick (e.GetAxisValue (Axis.X)); return true; }
public override bool OnGenericMotionEvent (MotionEvent e) { if (e.Source != InputSourceType.Touchscreen) { AmazonFireGameController.SetDPad (e.GetAxisValue (Axis.HatX)); AmazonFireGameController.SetLeftAnalogStick (e.GetAxisValue (Axis.X)); return true; } else { return false; } }
public static void DebugMotionEvent(MotionEvent motionEvent) { foreach (Axis axis in Enum.GetValues(typeof (Axis))) { Log.Info(TAG, string.Format("({0}) {1} = {2}", (int)axis, axis, motionEvent.GetAxisValue(axis))); } }
public static void DebugOuyaMotionEvent(MotionEvent motionEvent) { Log.Info(TAG, "OuyaController.AXIS_LS_X value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_LS_X)); Log.Info(TAG, "OuyaController.AXIS_LS_Y value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_LS_Y)); Log.Info(TAG, "OuyaController.AXIS_RS_X value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_RS_X)); Log.Info(TAG, "OuyaController.AXIS_RS_Y value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_RS_Y)); Log.Info(TAG, "OuyaController.AXIS_L2 value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_L2)); Log.Info(TAG, "OuyaController.AXIS_R2 value=" + motionEvent.GetAxisValue((Axis)OuyaController.AXIS_R2)); }
internal static bool OnGenericMotionEvent(MotionEvent e) { var gamePad = GetGamePad(e.Device); if (gamePad == null) return false; if (e.Action != MotionEventActions.Move) return false; gamePad._leftStick = new Vector2(e.GetAxisValue(Axis.X), -e.GetAxisValue(Axis.Y)); gamePad._rightStick = new Vector2(e.GetAxisValue(Axis.Z), -e.GetAxisValue(Axis.Rz)); gamePad._leftTrigger = e.GetAxisValue(Axis.Ltrigger); gamePad._rightTrigger = e.GetAxisValue(Axis.Rtrigger); return true; }
//Get the centered position for the joystick axis private float GetCenteredAxis(MotionEvent e, InputDevice device, Axis axis) { InputDevice.MotionRange range = device.GetMotionRange (axis, e.Source); if (range != null) { float flat = range.Flat; float value = e.GetAxisValue (axis); if (System.Math.Abs (value) > flat) return value; } return 0; }
bool OnTouchOrHoverEvent (MotionEvent e, bool isTouch) { MotionEventButtonState buttonState = e.ButtonState; MotionEventButtonState pressedButtons = buttonState & ~mOldButtonState; mOldButtonState = buttonState; if ((pressedButtons & MotionEventButtonState.Secondary) != 0) { // Advance color when the right mouse button or first stylus button // is pressed. AdvanceColor (); } PaintMode mode; if ((buttonState & MotionEventButtonState.Tertiary) != 0) { // Splat paint when the middle mouse button or second stylus button is pressed. mode = PaintMode.Splat; } else if (isTouch || (buttonState & MotionEventButtonState.Primary) != 0) { // Draw paint when touching or if the primary button is pressed. mode = PaintMode.Draw; } else { // Otherwise, do not paint anything. return false; } MotionEventActions action = e.ActionMasked; if (action == MotionEventActions.Down || action == MotionEventActions.Move || action == MotionEventActions.HoverMove) { int N = e.HistorySize; int P = e.PointerCount; for (int i = 0; i < N; i++) { for (int j = 0; j < P; j++) { Paint (GetPaintModeForTool (e.GetToolType (j), mode), e.GetHistoricalX (j, i), e.GetHistoricalY(j, i), e.GetHistoricalPressure (j, i), e.GetHistoricalTouchMajor (j, i), e.GetHistoricalTouchMinor (j, i), e.GetHistoricalOrientation (j, i), e.GetHistoricalAxisValue (Axis.Distance, j, i), e.GetHistoricalAxisValue (Axis.Tilt, j, i)); } } for (int j = 0; j < P; j++) { Paint (GetPaintModeForTool (e.GetToolType (j), mode), e.GetX (j), e.GetY (j), e.GetPressure (j), e.GetTouchMajor (j), e.GetTouchMinor (j), e.GetOrientation (j), e.GetAxisValue (Axis.Distance, j), e.GetAxisValue (Axis.Tilt, j)); } mCurX = e.GetX (); mCurY = e.GetY (); } return true; }