ios_drag_hid
Drag-and-drop via the direct input path (no automation session needed): press-and-HOLD at from, move to to as one continuous contact, then release. Unlike ios_swipe_hid it holds at BOTH ends — holdStartMs lets the app pick the item up, holdEndMs lets the drop/snap register (a bare swipe often fails to grab or to land the drop). Use for reordering, sliders, and canvas drag-and-drop (jigsaw pieces, cards). Pass norm=true to give from/to/waypoints as 0..1 fractions (pixelInScreenshot ÷ screenshotSize — precise, matches the frontend). Single-contact only. Returns "no HID available" on iOS 17.x / no-tunnel.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Drop point (screen points, or 0..1 fraction if norm=true) | |
| from | Yes | Grab point (screen points, or 0..1 fraction if norm=true) | |
| norm | No | If true, x/y (and path points) are 0..1 FRACTIONS of the screen — pass `pixelInScreenshot ÷ screenshotSize` directly (scale-free, matches the frontend, avoids point-guessing). Default false = iOS screen points. | |
| udid | Yes | iOS device UDID | |
| holdEndMs | No | Settle dwell at the drop before release, ms (default 250) | |
| waypoints | No | Optional intermediate points for a curved/steered drag (same space as from/to) | |
| durationMs | No | Total travel time, ms (default 500) | |
| holdStartMs | No | Grab dwell before moving, ms (default 250) |