Touch a point in the frame
Tap a point in the live-view frame, as if someone touched the camera’s own
screen there. Send absolute coordinates (x 0-639, y 0-479) or
normalized 0-1 values — the latter is what you want for a tap or click
on a live view.
This is not setAFAreaPosition
setAFAreaPosition drags the focus box to a point and leaves it there. A
touch seeds the camera’s subject tracking: the camera locks onto
whatever is at that point and then follows it on its own. You cannot get
that by rewriting positions from a client. Touch also works in focus areas
that have no movable box — Wide, face priority — where
setAFAreaPosition has nothing to move.
Read the result with getTrackingFrame.
The camera decides what a touch does
The SDK property that would select the touch behaviour
(FunctionOfRemoteTouchOperation) is unsupported on Alpha bodies
including the ILCE-7M4 — only broadcast bodies can choose. A touch does
whatever the body’s own Touch Func. in Shooting is set to
(MENU > Setup > Touch Operation > Touch Panel Settings > Shooting Screen), and that setting is not exposed over this API:
| Touch Func. in Shooting | What remoteTouch does |
|---|---|
Touch Focus (ILCE-7M4 default) | Moves the AF frame, like setAFAreaPosition. getTrackingFrame stays empty. |
Touch Tracking | Starts subject tracking at the point. getTrackingFrame reports the box. |
Both were measured on an ILCE-7M4. Note the touch is accepted even when
the body’s Touch Operation is Off — that setting governs the
physical screen, not the remote property.
A 200 does not mean tracking started
The camera accepts the write and then decides. With Touch Tracking set,
a touch on a point with nothing trackable — measured on flat wall and
blown-out window areas — returns 200 and produces no tracking frame at
all. Always read getTrackingFrame to find out what actually
happened.
Touches land close to where they are asked for but not exactly: the
camera snaps to the nearest feature it can hold. Measured on an ILCE-7M4,
320,240 landed at 320,239 and 200,300 at 209,297, while points
near the edges pulled further in — 0,479 landed at 35,445.
Leave a beat between touches. Firing several within a second or so, or
immediately after a cancelRemoteTouch, made the camera drop tracking
entirely until it was left alone.
When this returns 400
Touch is gated on the camera reporting it as currently available. On the ILCE-7SM3 and ILCE-7C it is movie-mode only; other bodies gate it on focus mode or on live view running. A rejected touch says which gate failed.
Requires priority key pc-remote.
Path Parameters
Camera identifier (e.g. D10F60149B0C)
Body
Supply either x and y, or a normalized object. If both are present,
normalized wins. Same coordinate space as AFAreaPositionRequest.
Touch point X in the camera's coordinate space.
0 <= x <= 639Touch point Y in the camera's coordinate space.
0 <= x <= 479Touch point as 0-1 fractions of the live view — use this for a tap or click position without converting to the SDK's coordinate space.
Response
Touch sent. Confirm what the camera locked onto with
getTrackingFrame.
Generic envelope returned by most camera operations. The shape of
data varies per endpoint — most operations return an empty or
null data; operations that return structured data document a
specific shape. SDK-generated types can treat data as an opaque
map for generic endpoints.

