Your TV remote becomes a pointer for your Mac.
Buttons · Setup · Build · Architecture
- Scroll with the same arrows, with a chip beside the pointer showing the mode
- Rebind anything: twenty actions grouped by kind, including recorded keyboard shortcuts
- Nothing leaves your Mac: no account, no network, no analytics
| Button | Default |
|---|---|
| D-pad, tapped | Nudges the pointer a few pixels |
| D-pad, held | Glides, accelerating the longer you hold |
| Center | Left click |
| Center, twice | Double click |
| Center, held | Right click |
| Back | Back |
| Back, twice | Switches the arrows between moving and scrolling |
| Back, held | Yours to bind |
- Connect the Mac to the display over HDMI and switch to that input.
- Turn on HDMI-CEC in the display's settings.
- Grant Accessibility under System Settings, Privacy & Security.
The first run walks through all of it and has you practise each gesture, so you find out the remote works.
swift build
swift run RemotelyKitTests # 84 checks
swiftformat . && swiftlint # needs TOOLCHAIN_DIR, see AGENTS.md
zsh scripts/build-app.sh # writes build/Remotely.app| Path | What lives there |
|---|---|
Sources/RemotelyKit |
The core, with no UI: CEC transport and parsing, gesture rules, the glide curve, input synthesis, bindings |
Sources/Remotely |
The app: menu bar item, settings window, onboarding |
Tests/RemotelyKitTests |
A plain executable, since Command Line Tools ships neither XCTest nor swift-testing |
See docs/ARCHITECTURE.md for the architecture and docs/RELEASING.md for how releases are cut.
MIT. See LICENSE.
The icon click is rendered from the mechanical pack of
@web-kits/audio by Raphael Salaja, MIT.
