Turn your PlayStation controller into a
programmable dev companion with AI awareness.
Free & open source · Windows 10 / 11 · DualSense or DualShock 4
Every button maps to real keypresses. D-pad sends arrow keys. Face buttons handle Enter, Escape, Tab. L2 holds to trigger Wispr speech-to-text. PS button cycles between profiles.
The lightbar reflects real-time AI agent state across Claude Code, Claude Desktop, Codex, and OpenCode. Blue pulse when thinking. Green flash when done. Rumble when a long task finishes.
Pair with Wispr Flow for a fully keyboard-free workflow. Voice handles text input. The controller handles navigation, window switching, and everything else.
Touchpad swipe moves the cursor. Touchpad press clicks. Or switch to left stick mouse mode from the tray icon. Works alongside any input mode.
Tmux profile maps L1/R1 to previous/next window, Square to new-window, R2 to kill-window. Prefix and bindings are auto-detected from your running tmux server via WSL.
Rumble triggers on task completion (tasks ≥ 10 min) and idle reminders (8 min idle). Conditional rumble thresholds are fully customizable via config.toml.
DS4CC watches state files written by your AI tools and translates them into lightbar colors and haptic patterns — in real time, across all sessions.
Supported: Claude Code · Claude Desktop · Codex · OpenCode
Hooks install automatically on first launch. Codex requires no hooks — DS4CC polls its JSONL logs natively.
Press PS to cycle between Default and Tmux. The tray icon and controller LEDs show the active profile.
| Cross (×) | Enter |
| Circle (○) | Escape |
| Triangle (△) | Tab |
| D-pad | Arrow keys |
| Right stick | Scroll |
| Touchpad | Mouse move + click |
| L2 | Wispr dictation |
| L3 | Ctrl+T |
| R3 | Ctrl+P |
| Mute | Toggle microphone |
| Square (□) | New tab |
| L1 | Previous tab |
| R1 | Next tab |
| R2 | Ctrl+C |
| Square (□) | new-window |
| L1 | previous-window |
| R1 | next-window |
| R2 | kill-window |
No admin rights required. Installs to %LOCALAPPDATA%\DS4CC.
Hooks install automatically. The lightbar turns on. You're done.