From 9caa2855b25ddf2b7e8e7c0e4b6d573c8ae83e3b Mon Sep 17 00:00:00 2001 From: DanielToyama Date: Fri, 18 Oct 2024 00:53:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=9A=E5=AE=89=E5=8D=93?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=90=8C=E6=97=B6=E8=BF=9E=E6=8E=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 ++++++- config.yaml | 2 ++ main.py | 8 +++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7967025..49c003c 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ 16. 如果单点延迟低但滑动时延迟极大, 请将脚本中 `TOUCH_THREAD_SLEEP_MODE` 修改为 false, 或者可以调小 `TOUCH_THREAD_SLEEP_DELAY` 的值(如果还是卡请提 issue 反馈) + ## 命令列表 游戏时如果不小心断开连接, 请在控制台输入 `start` 并回车来重新连接游戏 @@ -71,9 +72,13 @@ Q: 在安卓高版本(13,14)上测试触摸区域完全对不上,只有点屏 A: 按步骤修改脚本内 `ANDROID_ABS_MONITOR_SIZE` 和 `ANDROID_ABS_INPUT_SIZE` 配置 +Q: 关闭再打开报错 + +A: 如果直接关闭控制台窗口有可能导致后台进程残留,请使用任务管理器彻底关闭进程或者使用ctrl+z终止程序 + ## 注意 -想要加 2P 的重新复制一下脚本并添加串口 COM4 到 COM44 的转发就好 +想要加 2P 的重新复制一下脚本并添加串口 COM4 到 COM44 的转发,并且在配置文件“SPECIFIED_DEVICES”中指定使用“adb devices”获取到的设备序列号 该脚本仅用于测试, 目前来说打12+及以下应该是问题不大, 12+以上水平不够没试过. diff --git a/config.yaml b/config.yaml index fc34906..d3c9806 100644 --- a/config.yaml +++ b/config.yaml @@ -20,6 +20,8 @@ ANDROID_REVERSE_MONITOR: false TOUCH_THREAD_SLEEP_MODE: false # 每次 sleep 的延迟, 单位: 微秒, 默认 100 微秒 TOUCH_THREAD_SLEEP_DELAY: 100 +#当需要指定触控设备时填上使用“adb devices”获取到的设备序列号,留空则只支持单设备连接 +SPECIFIED_DEVICES: "" # RGB 颜色值对应区块配置 exp_image_dict: diff --git a/main.py b/main.py index 6e3efad..1b560e3 100644 --- a/main.py +++ b/main.py @@ -32,6 +32,8 @@ ANDROID_REVERSE_MONITOR = False TOUCH_THREAD_SLEEP_MODE = False # 每次 sleep 的延迟, 单位: 微秒, 默认 100 微秒 TOUCH_THREAD_SLEEP_DELAY = 100 +#当需要指定触控设备时填上使用“adb devices”获取到的设备序列号,留空则只支持单设备连接 +SPECIFIED_DEVICES = "" exp_list = [ ["A1", "A2", "A3", "A4", "A5", ], @@ -251,7 +253,10 @@ def getevent(): touch_index = 0 # 执行 adb shell getevent 命令并捕获输出 - process = subprocess.Popen(['adb', 'shell', 'getevent', '-l'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + adb_cmd = 'adb shell getevent -l' + if SPECIFIED_DEVICES: + adb_cmd = 'adb -s ' + SPECIFIED_DEVICES + ' shell getevent -l' + process = subprocess.Popen(adb_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) key_is_changed = False # 读取实时输出 @@ -324,6 +329,7 @@ if __name__ == "__main__": TOUCH_THREAD_SLEEP_MODE = c["TOUCH_THREAD_SLEEP_MODE"] TOUCH_THREAD_SLEEP_DELAY = c["TOUCH_THREAD_SLEEP_DELAY"] exp_image_dict = c["exp_image_dict"] + SPECIFIED_DEVICES = c["SPECIFIED_DEVICES"] else: print("未找到配置文件, 使用默认配置")