phone2com 是一套“安卓手机屏幕手柄 + Windows 电脑接收器”的游戏控制方案。
如果你是第一次使用、不懂技术,请先看这份最简单的教程:
小白使用教程.md如果你想让本地大模型(Ollama / LM Studio / AnythingLLM 等)一步一步指导部署,请看:
本地大模型部署说明书.md如果对方电脑上有 Codex CLI,想让 Codex 直接拉取项目并指导部署,请看:
Codex部署说明书.md
手机安装 APK 后,通过 USB/ADB 与电脑连接;电脑端运行 PC Receiver,把手机屏幕上的摇杆、视觉转动、ABXY、L1/L2/R1/R2 等输入转换成 Windows 可识别的虚拟手柄输入。
适合课程展示、项目验收、手柄交互原型验证。
安卓手机 APK
↓ 手机屏幕触摸输入
USB 数据线 + ADB reverse
↓
Windows PC Receiver
↓
ViGEmBus / vJoy
↓
Xbox 360 Controller / vJoy Device
↓
PC 游戏
简单说:
手机 = 屏幕手柄
电脑端 receiver = 输入翻译器
ViGEmBus/vJoy = 虚拟手柄驱动
游戏 = 最终接收者
- 安卓横屏虚拟手柄界面
- 编辑模式 / 游戏模式
- 官方模块库:
- 按键
- 摇杆
- 十字键
- 视觉转动
- 模块拖拽
- 模块缩放
- 模块删除
- 视觉转动灵敏度调节
- 布局保存
- 非法布局校验
- WebSocket 接收手机输入
- 自动尝试执行
adb reverse tcp:19999 tcp:19999 - 输出到 Xbox 360 Controller(ViGEmBus)
- 输出到 vJoy Device 1
axes批处理:摇杆和视觉转动可以同帧发送,支持双指同时操作- 内置 ADB 工具
- 提供一键环境安装脚本和启动脚本
| 手机模块 | 输出 |
|---|---|
| 摇杆 | vJoy X / Y,Xbox 左摇杆 |
| 视觉转动 | vJoy Rx / Ry,Xbox 右摇杆 |
| A | Xbox A / vJoy Button 1 |
| B | Xbox B / vJoy Button 2 |
| X | Xbox X / vJoy Button 3 |
| Y | Xbox Y / vJoy Button 4 |
| L1 | Xbox LB / vJoy Button 5 |
| R1 | Xbox RB / vJoy Button 6 |
| L2 | Xbox LT / vJoy Z 轴 |
| R2 | Xbox RT / vJoy Rz 轴 |
说明:界面上不显示 vJoy X/Y 等底层文字,普通用户只看到手柄模块名称。
phone2com/
├─ android/ 安卓 APK 源码工程
├─ web/ 手机端 WebView 页面源码
├─ pc_server/ Windows PC Receiver 源码
├─ drivers/ 随包驱动安装器
│ ├─ ViGEmBus_1.22.0_x64_x86_arm64.exe
│ └─ vJoyInstall.exe
├─ tools/
│ ├─ adb/ 内置 ADB 工具
│ └─ vjoy/ vJoy 配置/监视辅助工具
├─ releases/
│ └─ phone2com.apk 可直接安装的安卓 APK
├─ docs/
│ └─ dev/ 开发过程记录和验收文档
├─ install_pc.bat PC 环境一键安装脚本
├─ run_pc_receiver.bat PC Receiver 启动脚本
└─ README.md
git clone https://github.com/snsn78/phone2com.git
cd phone2com如果不会用 git,也可以在 GitHub 页面点击:
Code → Download ZIP
然后解压。
在 Windows 电脑上,右键运行:
install_pc.bat
建议选择:
以管理员身份运行
它会处理:
ViGEmBus 虚拟 Xbox 手柄驱动
vJoy 虚拟摇杆驱动
Python 依赖环境
PC receiver 环境检查
如果提示没有 Python,请先安装 Python 3.9+:
https://www.python.org/downloads/windows/
安装 Python 时记得勾选:
Add Python to PATH
APK 文件在:
releases/phone2com.apk
把它发送到安卓手机上安装即可。
如果手机不允许安装,需要在手机设置里允许:
安装未知来源应用
手机上打开:
开发者选项
USB 调试
连接电脑后,手机会弹出:
是否允许 USB 调试?
选择:
始终允许来自这台计算机
允许
双击:
run_pc_receiver.bat
或者在 CMD 中运行:
cd /d "你的仓库路径\phone2com"
run_pc_receiver.bat成功后会看到类似:
WebSocket 监听 ws://127.0.0.1:19999
ADB reverse 成功
手机链路已就绪
WebSocket 已注册: phone2com-phone
这个窗口不要关闭。
手机打开:
phone2com
如果连接成功,会显示已连接。
然后点击:
开始游戏
进入游戏模式。
按:
Win + R
输入:
joy.cpl查看是否有:
Xbox 360 Controller
vJoy Device
点“属性”,然后在手机上操作摇杆、按钮、视觉转动。
日志文件:
pc_server\phone2com_receiver.log
正常输入时会出现:
输入事件: axes lx=... ly=... rx=... ry=...
vJoy写入: lx=... ly=... rx=... ry=...
输入事件: btn A=1
vJoy按钮写入: A -> Button 1 = 1
本仓库提供了 vJoy 工具:
tools\vjoy\JoyMonitor.exe
tools\vjoy\vJoyConf.exe
tools\vjoy\vJoyConfig.exe
如果要单独测试 vJoy,可以运行:
cd /d "你的仓库路径\phone2com\pc_server"
start.bat --vjoy-test先确认手机已开启 USB 调试,并且手机上点了“允许”。
可以执行:
tools\adb\adb.exe kill-server
tools\adb\adb.exe start-server
tools\adb\adb.exe devices
tools\adb\adb.exe reverse tcp:19999 tcp:19999正常应该看到:
设备序列号 device
如果是:
unauthorized
说明手机还没有点允许 USB 调试。
这是正常的。
ViGEmBus 创建的是虚拟 Xbox 360 Controller,Windows 通常不会像真实 USB 手柄一样弹通知。
请用:
joy.cpl检查是否出现 Xbox 360 Controller。
按顺序检查:
1. PC Receiver 是否运行
2. 手机是否进入游戏模式
3. joy.cpl 里是否有 Xbox 360 Controller / vJoy Device
4. PC 日志是否出现输入事件
5. 游戏是否支持 Xbox 手柄
新版已经使用 axes 批处理。如果日志里出现:
输入事件: axes lx=... ly=... rx=... ry=...
说明摇杆和视觉转动已经同帧发送。
如果你要自己重新构建 APK:
cd android
gradlew.bat assembleDebug构建产物:
android\app\build\outputs\apk\debug\app-debug.apk
发布仓库里的可安装版本放在:
releases\phone2com.apk
本项目源码以 MIT License 发布。
注意:
ViGEmBus、vJoy、ADB、Gradle、Android SDK 等第三方组件属于各自项目和许可证。
仓库中的驱动/工具仅为教学、验收和快速部署方便而随包提供。
如果用于正式产品发布,请再次核对第三方组件许可证和分发条款。
当前版本重点目标:
安卓手机安装 APK
Windows 运行 PC Receiver
USB/ADB reverse 通信
电脑识别 Xbox/vJoy 输入
可以控制 PC 游戏
已实现:
✅ 手机端布局编辑
✅ 模块拖拽/缩放/删除
✅ 视觉转动灵敏度调节
✅ 摇杆 + 视觉转动双指同时操作
✅ ABXY / L1 / L2 / R1 / R2 基础 Xbox 映射
✅ PC Receiver 一键启动
✅ 驱动和 ADB 随包提供