ClaudePad
*“编码永远不会改变。但你的输入设备只是改变了。”*
     ](https://www.npmjs.com/package/claudepad)
沙发上的Vibe代码。 将Xbox无线控制器连接到 克劳德代码 通过MCP。批准 A.,否认 B,打断 十、.执行格斗游戏组合以提交+推送。克劳德思考完毕后,感受触觉反馈。
安装
先决条件
macOS+SDL2:
brew install cmake sdl2添加到克劳德代码(单行)
claude mcp add claudepad -- npx -y claudepad就是这样。重新启动Claude Code并通过蓝牙连接您的Xbox控制器。
验证控制器
npx claudepad-test按钮地图
| 按钮 | 操作 | 描述 |
|---|---|---|
| A. (绿色) | 批准 | y +进入 |
| B (红色) | 拒绝 | n +进入 |
| 十、 (蓝色) | 中断 | Ctrl+C |
| Y (黄色) | 跳过 | 退出 |
| LB | 向上滚动 | tmux页面向上 |
| 右后卫 | 向下滚动 | tmux页面向下 |
| 控制钮 | 导航 | 箭头键 |
| 菜单 | 确认 | 输入 |
| 视图 | 中断 | Ctrl+C |
| Xbox | 语音输入 | /voice +进入 |
| 三级 | 自动完成 | 选项卡 |
| R3 | Slash命令 | / |
组合
格斗游戏输入序列触发特殊动作:
| 组合 | 序列 | 窗口 | 动作 |
|---|---|---|---|
| 哈杜肯 | 向下、向右、A | 500ms | git commit + push |
| 肖瑞肯 | 右、下、右、B | 600ms | 重置对话 |
| 快速批准 | A、A | 300ms | 双重批准 |
| 涡轮模式 | LB+RB | 200ms | 切换涡轮 |
| Konami代码 | 上下左右左右B A | 3s | 彩虹隆隆声 |
触觉反馈
您的控制器会振动以传达状态——无需看屏幕。
| 图案 | 感觉 | 何时 |
|---|---|---|
success | 温和的双脉冲 | 任务已完成 |
error | 艰难的长嗡嗡声 | 有东西坏了 |
warning | 中等单脉冲 | 抬头 |
approval_prompt | 三拍节奏 | 克劳德需要输入 |
task_complete | 上升势头 | 重要里程碑 |
combo_activated | 尖锐的咔哒声 | 检测到组合 |
voice_start | 轻按 | 录音开始 |
rainbow | 波浪渐强 | 复活节彩蛋激活 |
建筑
Xbox Controller --Bluetooth--> macOS SDL2 --> GamepadManager
|
+---------+---------+
| |
ButtonMapper ComboDetector
|
KeystrokeInjector
(tmux / osascript)
|
Claude CodeMCP工具
当作为MCP服务器运行时,Claude可以访问:
| 工具 | 说明 |
|---|---|
gamepad_get_state | 读取按钮/轴/连接状态 |
gamepad_wait_button | 阻止,直到按下特定按钮 |
gamepad_get_analog | 读取模拟棒和触发值 |
gamepad_rumble | 发送触觉反馈(预设或自定义) |
gamepad_wait_combo | 等待组合输入 |
gamepad_configure_mapping | 查看或更新按钮映射 |
守护程序模式
独立运行(无MCP,只需按键):
npx tsx src/daemon.ts或者安装为持久launchd服务:
cp com.claudepad.daemon.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.claudepad.daemon.plist发展
npm test # Run tests
npm run test:watch # Watch mode
npm run dev # Dev mode with file watching技术栈
TypeScript + TSX | @模型上下文协议/sdk | sdl2游戏控制器 (SDL2本机插件)| 黄道带 | 测试 | 终端复用器
贡献
看 贡献.md.
