把任何 Android 手机通过 USB 线 变成电脑手柄!即插即用!
┌──────────┐ USB 线 ┌──────────┐ ADB Reverse ┌──────────────┐
│ 📱 手机 │──────────────▶│ 💻 电脑 │◀─────────────────│ 虚拟 Xbox 手柄 │
│ (APK) │ WebSocket │ (Python) │ localhost:9999 │ (vgamepad) │
└──────────┘ └──────────┘ └──────────────┘
手机 APK 通过 ADB USB 发送手柄输入到电脑,电脑 Python 服务注入为虚拟 Xbox 360 手柄。
- 手机开启 USB 调试(设置 → 开发者选项 → USB 调试)
- 用 USB 线连接手机到电脑
- 安装
AirInput-USB.apkadb install AirInput-USB.apk
cd pc_server
pip install -r requirements.txt
python server.py看到 ADB reverse 成功 就 OK 了!
- 打开手机上的 AirInput USB App
- 输入玩家名,点击「连接」
- 手柄界面出现,开始操控!
- 支持 3 种皮肤:经典 SNES / 现代 Xbox / 经典 N64
Way2Test/
├── AirInput-USB.apk # 📱 直接安装的 APK
├── pc_server/
│ ├── server.py # 💻 PC 服务端(主程序)
│ ├── requirements.txt # Python 依赖
│ ├── index.html # 手柄界面(打包进 APK)
│ ├── script.js # 手柄逻辑(WebSocket 通信)
│ ├── global.css # 全局样式
│ ├── nipplejs.min.js # 摇杆库
│ └── skins/ # 手柄皮肤(3套)
└── android/ # 📱 Android 项目源码
└── ... # 可用 Android Studio 打开修改
cd android
# 设置 ANDROID_HOME
export ANDROID_HOME="C:/Users/你的用户名/AppData/Local/Android/Sdk"
# 构建
./gradlew assembleDebug
# APK 在 app/build/outputs/apk/debug/app-debug.apk| 手机按钮 | Xbox 手柄 |
|---|---|
| A / B / X / Y | 对应 Xbox 按键 |
| L / R | LB / RB (肩键) |
| L2 / R2 | 扳机键 |
| START / SELECT | Start / Back |
| ↑ ↓ ← → | 十字键 |
| L3 / R3 | 摇杆按下 |
| 左摇杆 | 左摇杆 |
| 右摇杆 | 右摇杆 |
Q: 显示"未检测到 ADB 设备"?
- 检查 USB 线是否插好
- 手机是否开启了 USB 调试
- 手机上弹出的授权框要点「允许」
- 执行
adb devices确认设备已连接
Q: 连接不上?
- 确保电脑端
python server.py已启动 - 检查防火墙是否拦截了 9999 端口(localhost 通常不受影响)
- APK 需要 INTERNET 权限(已内置)
Q: 手柄没反应?
- 确认电脑已安装 vgamepad 驱动(
pip install vgamepad) - 在 Windows 的「设备与打印机」中应能看到 Xbox 360 手柄
💡 基于 airInput (MIT) 改造,将 WiFi/Socket.IO 替换为 ADB USB/WebSocket