Phone Control Tool
phone-control-toolSend a raw input primitive to a farm phone. The slot must be cast/live. Unlike phone_command (which queues an on-phone Shortcut), these are direct farmd socket ops and run synchronously — the call returns once farmd acks. Coordinates are fractions of the screen (0..1: 0 = left/top, 1 = right/bottom). Ops:
tap (fx, fy): tap a point
swipe (fx1, fy1, fx2, fy2, optional steps): drag/flick between two points
hotkey (key): press a key: home, app_switcher, control_center, notifications, back, run_shortcut, enter, backspace, copy, cut, paste, select_all
type (text): type ASCII text into the focused field
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fx | No | Tap x, fraction 0..1 (for tap). Optional. | |
| fy | No | Tap y, fraction 0..1 (for tap). Optional. | |
| op | Yes | Input op: tap, swipe, hotkey, type. | |
| fx1 | No | Swipe start x, fraction 0..1 (for swipe). Optional. | |
| fx2 | No | Swipe end x, fraction 0..1 (for swipe). Optional. | |
| fy1 | No | Swipe start y, fraction 0..1 (for swipe). Optional. | |
| fy2 | No | Swipe end y, fraction 0..1 (for swipe). Optional. | |
| key | No | Key name (for hotkey): home, app_switcher, control_center, notifications, back, run_shortcut, enter, backspace, copy, cut, paste, select_all. Optional. | |
| slot | Yes | Phone slot to control, given as the `slot` UUID from list-phones (its display name like "slot12" is not accepted). Must be cast/live. | |
| text | No | Text to type into the focused field (for type). Optional. | |
| steps | No | Swipe step count controlling gesture speed (for swipe). Defaults to 20. Optional. |