diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java index 7ed9c7723b0..e968826a7e2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java @@ -172,8 +172,9 @@ public class PointerEvent extends Event { // https://www.w3.org/TR/pointerevents/#pointerevent-interface pointerEvent.putDouble("pointerId", pointerId); pointerEvent.putDouble("pressure", mMotionEvent.getPressure(index)); - pointerEvent.putString( - "pointerType", PointerEventHelper.getW3CPointerType(mMotionEvent.getToolType(index))); + + String pointerType = PointerEventHelper.getW3CPointerType(mMotionEvent.getToolType(index)); + pointerEvent.putString("pointerType", pointerType); pointerEvent.putBoolean( "isPrimary", PointerEventHelper.isPrimary(pointerId, mPrimaryPointerId, mMotionEvent)); @@ -181,8 +182,8 @@ public class PointerEvent extends Event { // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent // Client refers to upper left edge of the content area (viewport) // We define the viewport to be ReactRootView - double clientX = mMotionEvent.getX(index); - double clientY = mMotionEvent.getX(index); + double clientX = PixelUtil.toDIPFromPixel(mMotionEvent.getX(index)); + double clientY = PixelUtil.toDIPFromPixel(mMotionEvent.getY(index)); pointerEvent.putDouble("clientX", clientX); pointerEvent.putDouble("clientY", clientY); @@ -201,6 +202,13 @@ public class PointerEvent extends Event { pointerEvent.putInt("target", this.getViewTag()); pointerEvent.putDouble("timestamp", this.getTimestampMs()); + if (pointerType.equals(PointerEventHelper.POINTER_TYPE_MOUSE)) { + pointerEvent.putDouble("width", 1); + pointerEvent.putDouble("height", 1); + pointerEvent.putDouble("tiltX", 0); + pointerEvent.putDouble("tiltY", 0); + } + return pointerEvent; }