diff --git a/React/Fabric/RCTSurfaceTouchHandler.mm b/React/Fabric/RCTSurfaceTouchHandler.mm index abc0c593045..dea8bfe2244 100644 --- a/React/Fabric/RCTSurfaceTouchHandler.mm +++ b/React/Fabric/RCTSurfaceTouchHandler.mm @@ -279,6 +279,8 @@ static PointerEvent CreatePointerEventFromActiveTouch(ActiveTouch activeTouch, R event.buttons = 0; } + event.tangentialPressure = 0.0; + return event; } @@ -299,6 +301,7 @@ CreatePointerEventFromIncompleteHoverData(UIView *view, CGPoint clientLocation, event.tiltY = 0; event.detail = 0; event.buttons = 0; + event.tangentialPressure = 0.0; return event; } diff --git a/ReactCommon/react/renderer/components/view/PointerEvent.cpp b/ReactCommon/react/renderer/components/view/PointerEvent.cpp index cafbc365485..727b93fcfa3 100644 --- a/ReactCommon/react/renderer/components/view/PointerEvent.cpp +++ b/ReactCommon/react/renderer/components/view/PointerEvent.cpp @@ -30,6 +30,8 @@ std::vector getDebugProps( {"tiltY", getDebugDescription(pointerEvent.tiltY, options)}, {"detail", getDebugDescription(pointerEvent.detail, options)}, {"buttons", getDebugDescription(pointerEvent.buttons, options)}, + {"tangentialPressure", + getDebugDescription(pointerEvent.tangentialPressure, options)}, }; } diff --git a/ReactCommon/react/renderer/components/view/PointerEvent.h b/ReactCommon/react/renderer/components/view/PointerEvent.h index c08a8f75483..6014b32b73d 100644 --- a/ReactCommon/react/renderer/components/view/PointerEvent.h +++ b/ReactCommon/react/renderer/components/view/PointerEvent.h @@ -56,7 +56,7 @@ struct PointerEvent { * the X axis. */ int tiltY; - /** + /* * Returns a long with details about the event, depending on the event type. */ int detail; @@ -64,6 +64,12 @@ struct PointerEvent { * The buttons being depressed (if any) when the mouse event was fired. */ int buttons; + /* + * The normalized tangential pressure of the pointer input (also known as + * barrel pressure or cylinder stress) in the range -1 to 1, where 0 is the + * neutral position of the control. + */ + Float tangentialPressure; }; #if RN_DEBUG_STRING_CONVERTIBLE diff --git a/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp b/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp index 690fdf51d88..a0f54dc2099 100644 --- a/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +++ b/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp @@ -74,6 +74,7 @@ static jsi::Value pointerEventPayload( object.setProperty(runtime, "tiltY", event.tiltY); object.setProperty(runtime, "detail", event.detail); object.setProperty(runtime, "buttons", event.buttons); + object.setProperty(runtime, "tangentialPressure", event.tangentialPressure); return object; }