Benjamin

静以修身,俭以养德,非澹薄无以明志,非宁静无以致远。
随笔 - 397, 文章 - 0, 评论 - 196, 引用 - 0
数据加载中……

python版的按键精灵KeymouseGo

一、安装
1. 安装 Python3
2. pip install -r requirements-windows.txt
3. pip install pyinstaller
4. pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py  
二、运行
1、点击 录制 按钮,开始录制。
2、在计算机上进行任意操作,如点击鼠标、键盘输入,这部分的动作会被记录下来。
3、点击 结束 按钮,结束录制。
4、点击 启动 按钮,计算机会重复执行一遍第2步中所录制的动作。
5、命令行运行(脚本):/KeymouseGo scripts/01113.txt  -参数
      -rt或--runtimes 次数       运行次数     0为无限循环
      -sp或--speed     速度(百分比)   运行速度
      -m或--module    MyExtension       加载自定义扩展MyExtension   
三、说明
1、默认启动热键为 F6,功能等同于 启动 按钮;默认终止热键为 F9,按下后将会停止正在运行的脚本  
2、录制时只记录鼠标点击动作和键盘动作,不记录鼠标移动轨迹;每次录制结束后都会在 scripts 目前下生成一个新的脚本文件。
3、运行前可以在列表中选择一个需要执行的脚本
4、热键设置中的Middle指代鼠标中键,XButton指代鼠标侧键
5、由于程序速度受限,当输入的鼠标速度大于一定值时脚本将无法以预期的输入速度执行
6、部分系统环境中,可能出现无法录制完整的鼠标事件的情况,请以管理员身份/root身份运行此工具即可正常使用。
7、脚本文件内容可以修改,修改时可参考如下所述
脚本为 json 格式,每一行代表一次动作:
每行的第 1 个元素表示时间间隔,指的是本次动作与上一次动作之间相隔的时间,单位为毫秒。
每行的第 2 个元素表示鼠标动作或是键盘动作:EM 为鼠标,EK 为键盘,EX 为其他拓展动作。
每行的第 3 个元素表示动作的类型:
mouse left down 为鼠标左键按下,mouse left up 为鼠标左键抬起,
mouse right down 为鼠标右键按下,mouse right up 为鼠标右键抬起,
mouse middle down 为鼠标中键按下, mouse middle up 为鼠标中键抬起,
mouse wheel up 为鼠标滚轮上滑, mouse wheel down 为鼠标滚轮下滑,
key down 为键盘按键按下,key up 为键盘按键抬起,
mouse move 为鼠标滑过,input 输入文字。
每行的第 4 个元素表示具体的动作参数
当为鼠标动作时,由两个子元素构成,分别为鼠标所在的屏幕位置的横纵坐标,
当为键盘动作时,由三个子元素构成,分别是(按键编号, 按键名, 拓展标记),
当为输入文字动作时,为要输入的文字内容。
每行 // 后的部分为注释内容。
修改时请严格遵守格式,否则可能导致脚本无法运行,建议修改前先备份一下。
横纵坐标为[-1, -1]时,表示在鼠标当前所在位置执行操作。
例如:
[
 [3000, "EM", "mouse right down", ["0.05208%", "0.1852%"]],    // 开始运行 `3000ms` 后,在屏幕相对坐标 `(0.05208, 0.1852)`即 `(100,200)` 处 `按下鼠标右键`;
 [50,   "EM", "mouse right up",   ["0.05208%", "0.1852%"]],    // 等待 `50ms` 后在相同位置 `抬起鼠标右键`;
 [1000, "EK", "key down",         [70, "F", 0]],                                   // 等待 `1000ms` 后 `按下f键`;
 [50,   "EK", "key up",           [70, "F", 0]],                                   // 等待 `50ms` 后 `抬起f键`;
 [100,  "EM", "mouse left down",  ["0.2604%", "0.4630%"]],      // 等待 `100ms` 后,在屏幕相对坐标 `(0.2604, 0.4630)`即 `(500, 500)` 处 `按下鼠标左键`;
 [100,  "EM", "mouse move",       ["0.2604%", "0.5556%"]],       // 等待 `100ms` 后,鼠标移动至相对坐标 `(0.2604, 0.5556)`即 `(500, 600)` 位置;
 [100,  "EM", "mouse left up",  ["0.3125%", "0.5556%"]],                   // 等待 `100ms` 后,在屏幕相对坐标 `(0.3125, 0.5556)`即 `(600, 600)` 处 `抬起鼠标左键`;
 [100,  "EX", "input",            "你好 world"],                                   // 等待 `100ms` 后,在当前位置输入 `你好 world` 文字。
]
   
github地址:https://github.com/taojy123/KeymouseGo(源码)

posted on 2023-11-13 15:32 Benjamin 阅读(74) 评论(0)  编辑 收藏 引用 所属分类: python


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理