UITouch with force/pressure

On both simulator and real device, I cannot get a TouchAction to register. We require a touch via Pencil where force > 1 for certain actions. In python, I do

TouchAction(driver).press(None, 500, 500, pressure=2.0).perform()

It appears to work, but nothing happens on iPad (simulator or device). Looking at logs, all seems normal:

[HTTP] --> POST /wd/hub/session/91e35fab-d162-4ed6-847a-06c55d46668f/touch/perform
[HTTP] {“actions”:[{“action”:“press”,“options”:{“x”:500,“y”:500,“pressure”:2}}]}

[debug] [W3C (91e35fab)] Calling AppiumDriver.performTouch() with args: [[{“action”:“press”,“options”:{“x”:500,“y”:500,“pressure”:2}}],“91e35fab-d162-4ed6-847a-06c55d46668f”]
[debug] [XCUITest] Executing command ‘performTouch’
[debug] [XCUITest] Received the following touch action: press(options={“x”:500,“y”:500,“pressure”:2})
[debug] [WD Proxy] Proxying [POST /wda/touch/perform] to [POST http://127.0.0.1:8100/session/6465DD50-0431-4511-AE72-8F54D1C10910/wda/touch/perform] with body: {“actions”:[{“action”:“press”,“options”:{“x”:500,“y”:500,“pressure”:2}}]}
[debug] [WD Proxy] Got response with status 200: {“value”:null,“sessionId”:“6465DD50-0431-4511-AE72-8F54D1C10910”}
[debug] [W3C (91e35fab)] Responding to client with driver.performTouch() result: null

[HTTP] <-- POST /wd/hub/session/91e35fab-d162-4ed6-847a-06c55d46668f/touch/perform 200 150 ms - 14

Any ideas? 3D Touch in IOS did not provide clues, because iPads don’t do 3D Touch and it’s being phased out of phones and iOS in general, correct?

XCTest is known to ignore such actions. It needs at least a pause and a release action to be performed after press

Yea, my ObjC skills are rusty, but I found the Category that’s imported:
appium/node_modules/appium-webdriveragent/WebDriverAgentLib/Categories/XCUIElement+FBForceTouch.m

It has a
@“action”: @“wait”,
@“options”: @{
@“ms”: @(duration * 1000)

which I changed to larger values, but Appium returns the 200 immediately with no wait, so clearly you’re correct. Reading https://developer.apple.com/documentation/uikit/uitouch/1618110-force I may also have to worry about Pencil’s altitudeAngle? My ObjC skills are rusty though, but I’ll continue to fiddle with this for a solution.