VibePad
A macOS menu bar app that maps a game controller's buttons and sticks to keyboard shortcuts, mouse movement and clicks, tuned for controlling AI coding assistants such as Claude Code and Codex CLI without touching a keyboard.
VibePad connects a PS5, Xbox or MFi controller and maps its buttons to keyboard shortcuts through a two-layer scheme, a default layer plus a modifier layer that doubles the available bindings. The left stick sends arrow-key presses with hysteresis and hold-to-repeat, the right stick scrolls, and a modifier-plus-stick combination switches applications or moves the mouse cursor, with the two stick buttons acting as left and right mouse clicks; a clipboard-aware paste action sends the correct paste shortcut depending on whether the clipboard holds an image or text.
Mappings are stored in a JSON configuration file that can be edited directly to change button assignments, action types such as key presses, typed text or mouse clicks, and per-button hold-to-repeat timing. It requires macOS Accessibility permission to send keystrokes to other applications.
It is written in Swift and released under the MIT license.