- Menu Bar App - Runs in background after closing window
- Visual Button Map - Intuitive display of current button mappings
- Background Operation - IOKit HID based, works even when window loses focus
- App Switcher - Hold Back button to switch apps like Cmd+Tab
- Profile Wheel - Press L3 to quickly switch between profiles
- Auto Profile Switch - Automatically switch profile when app changes
- App Exposé Mode - Navigate windows using D-Pad
- Customizable Mappings - Configure any button to any action
Download the latest release from GitHub Releases
- Open
VibeController.xcodeproj - Press Cmd+R to run
- Grant Accessibility permission on first launch
| Controller | Function |
|---|---|
| Left Stick | Mouse movement |
| Right Stick | Scroll |
| A | Left click |
| B | Right click |
| X | Copy (⌘C) |
| Y | Paste (⌘V) |
| LB | Undo (⌘Z) / Previous app in App Switcher |
| RB | Option+Space / Next app in App Switcher |
| LT | Drag mode (hold to drag files/text) |
| RT | Enter |
| L3 | Profile Wheel |
| R3 | Esc |
| Start | Command Palette (⌘⇧P) |
| Back | App Switcher (⌘Tab) |
| D-Pad Up/Down | Arrow keys |
| D-Pad Left/Right | Option + Arrow keys (word navigation) |
| Combo | Function |
|---|---|
| LT + D-Pad | Shift + Arrow keys (text selection) |
- Hold Back → Open app switcher
- Hold Back + RB → Next app
- Hold Back + LB → Previous app
- Release Back → Confirm selection
Automatically switch profiles based on the active app:
- Enable "Auto Switch Profile" in settings
- Click "Manage Associated Apps" for a profile
- Select apps to associate with that profile
- Set a default profile for apps without associations
When you switch to an associated app, the profile changes automatically with a notification overlay.
First launch requires Accessibility permission:
System Settings → Privacy & Security → Accessibility → Allow Vibe Controller
- Swift + SwiftUI - Native macOS app
- IOKit HID - Direct controller input, supports background operation
- CoreGraphics - Mouse and keyboard simulation
- MenuBarExtra - Menu bar integration
For voice input while using Vibe Controller, I recommend Handy - a free, open source, and privacy-focused speech-to-text application that works completely offline.
MIT License © 2026 Yuze Ma
See LICENSE for details.
