Move
Cursor motion and scrollMOVE drives a relative Axis: the cursor pair (X and Y together) or the wheel, picked by a motion byte. It injects on top of the real mouse, so the PC sees the combined result, and it's fire-and-forget. The momentary inputs (buttons, keys, media) have their own verb, INJECT.
| motion | Axis | carries | payload |
|---|---|---|---|
0 | cursor (X, Y) | dx, dy (i16) | 5 bytes |
1 | wheel | dz (i16) | 3 bytes |
MOVE
Relative axis injectionMOVE shifts an axis by a relative amount, not a screen position. The motion byte at offset 0 selects the axis. Opcode 0x01.
MOVE 0x01 · cursor payload 5 bytes
Fire-and-forget
| Offset | Field | Type | Notes |
|---|---|---|---|
| 0 | motion | u8 | 0 = cursor |
| 1 | dx | i16 | horizontal step; +x = right, little-endian |
| 3 | dy | i16 | vertical step; +y = down, little-endian |
exact net move = the sum of every delta you send range full i16 per axis, no clamp signs +x right, +y down (screen-style), +z wheel up paced a large move drains across frames; nothing is dropped
The box carries any remainder in its accumulator; RESET zeroes it. Library binding: move_rel.
Cursor dx = 100, dy = 0 (motion = 0):
+--------+--------+--------+--------+--------+--------+--------+--------+ | A5 | 01 | 00 | 05 00 | 00 | 64 00 | 00 00 | lo hi | +--------+--------+--------+--------+--------+--------+--------+--------+ | SOF | TYPE | SEQ | LEN | motion | dx | dy | CRC16 | +--------+--------+--------+--------+--------+--------+--------+--------+
MOVE (wheel)
Vertical scrollWith motion = 1, MOVE scrolls the wheel by a relative amount. Same opcode, a shorter payload.
MOVE 0x01 · wheel payload 3 bytes
Fire-and-forget
| Offset | Field | Type | Notes |
|---|---|---|---|
| 0 | motion | u8 | 1 = wheel |
| 1 | dz | i16 | scroll steps; + = up, - = down, little-endian |
The box adds dz into its accumulator and drains it across frames with carry, no clamp. RESET clears it. Library binding: wheel.
Wheel dz = 1, one step up (motion = 1):
+--------+--------+--------+--------+--------+--------+--------+ | A5 | 01 | 00 | 03 00 | 01 | 01 00 | lo hi | +--------+--------+--------+--------+--------+--------+--------+ | SOF | TYPE | SEQ | LEN | motion | dz | CRC16 | +--------+--------+--------+--------+--------+--------+--------+