One thumb, three states
You cannot hold ctrl and press a letter with one thumb. So ctrl, shift and alt are armed by one tap and held by two. A held alt stays down on the computer, which is what alt-tab needs.
// tap a key to see what is sent
Pair your iPhone once. The cursor goes where you throw it, over your own Wi-Fi. Free, with no cloud and no account.
finger cursor. The demo maps the pad onto the screen; the app moves the cursor relatively, like a laptop trackpad.
The cursor follows. Moving never holds the button down, so a long, slow move cannot select everything it passes over.
On launch the desktop app picks a fresh 128-bit token, listens on port 8787 and shows a QR code. The token is the introduction and nothing more: it is never sent, only proved, and a phone that pairs uses it up.
The code carries the address and the token. Credentials are checked before the socket is upgraded, so a wrong code gets a plain 401, not a connection that fails for no stated reason.
Both sides work out a shared secret from the code, so nothing secret is ever sent over the Wi-Fi, and the code stops working the moment it is used. Disconnect, restart either side, change rooms: it reconnects without it. Forget on the desktop revokes the phone.
// what the QR encodes { "v": 2, "id": "be15…", "host": "192.168.1.7", "port": 8787, "token": "9eb5…", "name": "desk" }
Wi-Fi delivers a finger's path in lumps. Apply each lump as it arrives and the cursor shows the network's timing instead of yours.
So every move packet carries the moment of the touch, and the computer replays the path from those times, a few milliseconds behind. A late packet changes nothing if it lands before the playhead needs it.
What it costs. Latency. The delay is 8 ms on a clean link and grows with measured jitter, capped at 60 ms. A poor link now trails a little more and stutters far less.
One stall we cannot remove. On Windows, SetCursorPos can block for 15–30 ms when the pointer crosses into a window that is slow to answer a hit-test. A hitch at the same spot every time is that, not the network.
You cannot hold ctrl and press a letter with one thumb. So ctrl, shift and alt are armed by one tap and held by two. A held alt stays down on the computer, which is what alt-tab needs.
// tap a key to see what is sent
The phone can show the computer's screen. Zoom crops the source rather than magnifying the picture, so detail appears instead of blur, and it costs less to send.
Send photos and files to the computer, or pick up what it has waiting for you, over the same Wi-Fi and never through a server. The bar under the pad holds the keyboard, the screen preview and files, and volume sits on the pad's edge: louder above, quieter below, with mute between them, which reads Unmute once the app believes the computer is muted. Type anything, including emoji and non-Latin text.
The phone talks to the computer directly, on your network.
Fresh on every launch, and spent by the first pairing. A release build never prints it.
A second device is refused while the first holds the session.
LazyMouse is free, and it stays free: no account, no subscription, no paid tier. Install it on the computer and on your iPhone, join the same Wi-Fi, and scan the code the computer shows. Today that means Windows and iPhone; macOS and Linux versions are on the way.
Not available yet. The installer will be here when LazyMouse launches.
Run it, and a QR code appears. That is all the computer needs.
Beta 0.1.0, an .msi installer. Windows may warn that the publisher is unrecognised, because the installer is new: choose More info, then Run anyway. The app updates itself when you ask it to.
Not available yet. LazyMouse is coming to the App Store.
Open it, scan the QR code on your computer, and the pad takes over.
Both halves have to be the same version. The pair refuses to connect otherwise, and says why.
Scan the code, put the computer down, and the cursor is under your thumb.
Install it, free