Go to file
ERR0RPR0MPT 8a850f112e add install script and update doc 2024-04-16 06:28:17 +08:00
example update v0.1.0 2024-04-14 07:03:19 +08:00
image update v0.1.0 2024-04-14 07:03:19 +08:00
.gitignore docs: update doc 2024-04-14 07:16:16 +08:00
LICENSE initial commit 2024-04-09 11:19:43 +08:00
README.md add install script and update doc 2024-04-16 06:28:17 +08:00
config.yaml fix: color inverted between C1 and C2 areas 2024-04-16 01:48:03 +08:00
install.bat add install script and update doc 2024-04-16 06:28:17 +08:00
main.py chore variable name 2024-04-16 06:15:39 +08:00
requirements.txt update v0.1.0 2024-04-14 07:03:19 +08:00
start.bat update: fix subprocess input pipe bug 2024-04-14 07:37:11 +08:00

README.md

maimai-android-touch-panel

使用 adb shell getevent 记录 Android 设备触屏事件并模拟 maimai 触摸屏幕的脚本.

使用方法

  1. 打开任意P图工具, 准备一个和设备屏幕大小相同的一张图片(例如:1600x2560), 将 ./image/color_exp_panel.png 放置到该图片圆形触摸区域的位置, 编辑好的图片放到脚本 image 目录下取名 image_monitor.png.
  2. 编辑 config.yaml 配置文件, 修改 exp_image_dict 配置, 将各区块对应的 RGB 通道颜色值改为刚P的图的对应区块颜色值( 一般不用改默认就行)
  3. 电脑安装 ADB 调试工具, 安装路径添加到系统环境变量里面
  4. 如果电脑上没有 Python 环境, 请先去 官网 下载安装
  5. 双击运行 install.bat 安装依赖
  6. 先将实际屏幕大小填入脚本内 ANDROID_ABS_MONITOR_SIZE 配置, 打开终端, 运行 adb shell getevent -l, 点一下屏幕的最右下角的位置, 在终端获取该次点击得到的 ABS_MT_POSITION_XABS_MT_POSITION_Y 的数值, 把十六进制转换到十进制, 将得到的数据填入到 ANDROID_ABS_INPUT_SIZE 配置
  7. Android 设备充电口朝下一般为屏幕的正向, 如需反向屏幕游玩可将配置 ANDROID_REVERSE_MONITOR 改为 true
  8. 编辑 config.yaml 配置文件, 修改脚本内 IMAGE_PATH COM_PORT, COM_BAUDRATE, MAX_SLOT 四个配置
  9. 下载一个 VSPD 虚拟串口工具, 将 COM3COM33 建立转发
  10. 手机打开 USB 调试, 强烈建议同时使用 USB 网络共享连接电脑, 串流走 WLAN 可能不是很稳定
  11. 电脑画面可使用 IddSampleDriver, SunshineMoonlight (提一嘴:想要竖屏串流必须使用支持竖屏的 Sunshine Nightly 版本, Releases 地址) 或者延迟较大但比较方便的 spacedesk 等软件串流到 Android 设备, 详细过程请自行寻找, 不在本篇讨论范围之内
  12. 手机连接电脑, 先双击运行 start.bat, 再运行游戏, 脚本控制台输出 已连接到游戏 即可
  13. 进游戏调整延迟, 一般判定A/B都要调才能正常用, 我这边是 A:-1.0/B:+0.5A:-2.0/B:+2.0
  14. 打一把看看蹭不蹭星星/触控是否灵敏, 根据体验修改 AREA_SCOPE 变量
  15. 如果单点延迟低但滑动时延迟变高, 请将脚本中 TOUCH_THREAD_SLEEP_MODE 修改为 false, 或者可以调小 TOUCH_THREAD_SLEEP_DELAY 的值(如果还是卡请提 issue 反馈)

命令列表

游戏时如果不小心断开连接, 请在控制台输入 start 并回车来重新连接游戏

输入 reverse 可调整触控设备屏幕方向

输入 restart 可重新读取配置文件/重启脚本

部分问题

Q: 在安卓高版本(13,14)上测试触摸区域完全对不上只有点屏幕左上角有用图片用的是平板实际分辨率在一台安卓10设备测试是正常的

A: 按步骤修改脚本内 ANDROID_ABS_MONITOR_SIZEANDROID_ABS_INPUT_SIZE 配置

注意

想要加 2P 的重新复制一下脚本并添加串口 COM4 到 COM44 的转发就好

该脚本仅用于测试, 目前来说打12+及以下应该是问题不大, 12+以上水平不够没试过.

类似项目

maimai-windows-touch-panel

许可证

MIT License

其他

编辑好的区块成品图类似这样: