Skip to content

Repository files navigation

SiriRemoteVibe

Turn a third-generation Apple TV Siri Remote into a one-handed macOS controller for terminal coding, desktop navigation, mouse control, and push-to-talk voice input.

CI License: GPL v3 Platform

Why use it?

  • One-handed coding controls: map Enter, Escape, Tab, Backspace, shortcuts, and shell actions.
  • Remote mouse: move, click, scroll, swipe, and drag from the Siri Remote clickpad.
  • macOS navigation: switch Spaces and open Mission Control with familiar swipe gestures.
  • Remote microphone: hold a button and speak through the Siri Remote's built-in microphone.
  • Hot-reloading config: edit one JSONC file and mappings change without rebuilding or restarting.
  • Per-app modes and layers: use different controls in a terminal, browser, or Remote Desktop.

Included vibe-coding configuration

Copy examples/config.vibe-coding.jsonc to ~/.config/siriremote/config.jsonc.

Remote input Default action
Siri button, short press Enter
Siri button, hold Hold Fn for voice input
Power button Escape
Swipe left / right Switch macOS Space
Swipe up Mission Control
Swipe down App Exposé
Clickpad Mouse movement and scrolling
Center click Click; hold for sticky drag

The configuration file is watched continuously. Save a change and it takes effect immediately. See examples/config.jsonc for the full configuration reference.

Quick start

Requirements:

  • macOS 13 or later
  • third-generation USB-C Siri Remote
  • Xcode command-line tools

Pair the remote in System Settings → Bluetooth, then:

git clone https://github.com/mkliu/SiriRemoteVibe.git
cd SiriRemoteVibe

mkdir -p ~/.config/siriremote
cp examples/config.vibe-coding.jsonc ~/.config/siriremote/config.jsonc

cd app
./build.sh
HYPERVIBE_SIGN_MODE=adhoc ./create_app_bundle.sh
open SiriRemoteVibe.app

Grant Accessibility and Input Monitoring under System Settings → Privacy & Security. The current internal app-bundle name is still SiriRemoteVibe.app.

The app runs in the menu bar. Open Settings there to tune cursor speed or edit mappings visually.

Enable Voice input bridge to capture local WeType or Doubao dictation, apply local replacements, and automatically paste into the previous Mac, Windows, or iPad app when Fn is released. The Hotwords settings tab provides exact recognition-to-replacement mappings.

Siri Remote microphone

The optional mic/ subsystem exposes a CoreAudio input named Siri Remote Mic. It requires:

  • arm64 Opus (brew install opus)
  • Apple's PacketLogger from Additional Tools for Xcode
  • installation of the included HAL plug-in and capture daemon

PacketLogger is Apple software and is not distributed by this repository. Download it directly from Apple Developer Downloads. Setup and architecture details are in mic/README.md.

Project origin

SiriRemoteVibe began as a fork of machinarii/hypervibe, an MIT-licensed experiment for one-handed vibe coding with an Apple TV remote.

This fork adds a hot-reloading configuration engine, per-app mappings, layers, richer gestures, macOS Space controls, settings UI, and the Siri Remote microphone pipeline. The original MIT notice is retained in NOTICE.

License

SiriRemoteVibe is licensed under GPL-3.0-or-later. Third-party notices for HyperVibe, BlackHole, and Opus are retained in NOTICE and the corresponding mic/ directories.

Optional Universal Control input

SiriRemoteVibe can route its relative mouse and keyboard reports through an existing Karabiner-Elements VirtualHID driver so the remote follows Apple's Universal Control pointer onto an iPad. This setup is optional and disabled by default.

  1. Install and activate Karabiner-Elements 15.9 or another release using VirtualHIDDevice 6.8.0.
  2. Run tools/install-virtualhid-helper.sh once. The installer requests one administrator approval and installs a persistent, UID-restricted helper.
  3. Enable Behavior → Cross-Device Input in SiriRemoteVibe Settings.

Without the helper, or when the option is disabled, SiriRemoteVibe continues using its normal local CGEvent backend.

About

One-handed macOS coding, navigation, mouse, and voice control with an Apple TV remote

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages