4. pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py
2、在計(jì)算機(jī)上進(jìn)行任意操作,如點(diǎn)擊鼠標(biāo)、鍵盤(pán)輸入,這部分的動(dòng)作會(huì)被記錄下來(lái)。
4、點(diǎn)擊 啟動(dòng) 按鈕,計(jì)算機(jī)會(huì)重復(fù)執(zhí)行一遍第2步中所錄制的動(dòng)作。
5、命令行運(yùn)行(腳本):/KeymouseGo scripts/01113.txt -參數(shù)
-rt或--runtimes 次數(shù) 運(yùn)行次數(shù) 0為無(wú)限循環(huán)
-sp或--speed 速度(百分比) 運(yùn)行速度
-m或--module MyExtension 加載自定義擴(kuò)展MyExtension
三、說(shuō)明
1、默認(rèn)啟動(dòng)熱鍵為 F6,功能等同于 啟動(dòng) 按鈕;默認(rèn)終止熱鍵為 F9,按下后將會(huì)停止正在運(yùn)行的腳本
2、錄制時(shí)只記錄鼠標(biāo)點(diǎn)擊動(dòng)作和鍵盤(pán)動(dòng)作,不記錄鼠標(biāo)移動(dòng)軌跡;每次錄制結(jié)束后都會(huì)在 scripts 目前下生成一個(gè)新的腳本文件。
3、運(yùn)行前可以在列表中選擇一個(gè)需要執(zhí)行的腳本
4、熱鍵設(shè)置中的Middle指代鼠標(biāo)中鍵,XButton指代鼠標(biāo)側(cè)鍵
5、由于程序速度受限,當(dāng)輸入的鼠標(biāo)速度大于一定值時(shí)腳本將無(wú)法以預(yù)期的輸入速度執(zhí)行
6、部分系統(tǒng)環(huán)境中,可能出現(xiàn)無(wú)法錄制完整的鼠標(biāo)事件的情況,請(qǐng)以管理員身份/root身份運(yùn)行此工具即可正常使用。
7、腳本文件內(nèi)容可以修改,修改時(shí)可參考如下所述
腳本為 json 格式,每一行代表一次動(dòng)作:
每行的第 1 個(gè)元素表示時(shí)間間隔,指的是本次動(dòng)作與上一次動(dòng)作之間相隔的時(shí)間,單位為毫秒。
每行的第 2 個(gè)元素表示鼠標(biāo)動(dòng)作或是鍵盤(pán)動(dòng)作:EM 為鼠標(biāo),EK 為鍵盤(pán),EX 為其他拓展動(dòng)作。
每行的第 3 個(gè)元素表示動(dòng)作的類型:
mouse left down 為鼠標(biāo)左鍵按下,mouse left up 為鼠標(biāo)左鍵抬起,
mouse right down 為鼠標(biāo)右鍵按下,mouse right up 為鼠標(biāo)右鍵抬起,
mouse middle down 為鼠標(biāo)中鍵按下, mouse middle up 為鼠標(biāo)中鍵抬起,
mouse wheel up 為鼠標(biāo)滾輪上滑, mouse wheel down 為鼠標(biāo)滾輪下滑,
key down 為鍵盤(pán)按鍵按下,key up 為鍵盤(pán)按鍵抬起,
mouse move 為鼠標(biāo)滑過(guò),input 輸入文字。
每行的第 4 個(gè)元素表示具體的動(dòng)作參數(shù)
當(dāng)為鼠標(biāo)動(dòng)作時(shí),由兩個(gè)子元素構(gòu)成,分別為鼠標(biāo)所在的屏幕位置的橫縱坐標(biāo),
當(dāng)為鍵盤(pán)動(dòng)作時(shí),由三個(gè)子元素構(gòu)成,分別是(按鍵編號(hào), 按鍵名, 拓展標(biāo)記),
當(dāng)為輸入文字動(dòng)作時(shí),為要輸入的文字內(nèi)容。
每行 // 后的部分為注釋內(nèi)容。
修改時(shí)請(qǐng)嚴(yán)格遵守格式,否則可能導(dǎo)致腳本無(wú)法運(yùn)行,建議修改前先備份一下。
橫縱坐標(biāo)為[-1, -1]時(shí),表示在鼠標(biāo)當(dāng)前所在位置執(zhí)行操作。
例如:
[
[3000, "EM", "mouse right down", ["0.05208%", "0.1852%"]], // 開(kāi)始運(yùn)行 `3000ms` 后,在屏幕相對(duì)坐標(biāo) `(0.05208, 0.1852)`即 `(100,200)` 處 `按下鼠標(biāo)右鍵`;
[50, "EM", "mouse right up", ["0.05208%", "0.1852%"]], // 等待 `50ms` 后在相同位置 `抬起鼠標(biāo)右鍵`;
[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` 后,在屏幕相對(duì)坐標(biāo) `(0.2604, 0.4630)`即 `(500, 500)` 處 `按下鼠標(biāo)左鍵`;
[100, "EM", "mouse move", ["0.2604%", "0.5556%"]], // 等待 `100ms` 后,鼠標(biāo)移動(dòng)至相對(duì)坐標(biāo) `(0.2604, 0.5556)`即 `(500, 600)` 位置;
[100, "EM", "mouse left up", ["0.3125%", "0.5556%"]], // 等待 `100ms` 后,在屏幕相對(duì)坐標(biāo) `(0.3125, 0.5556)`即 `(600, 600)` 處 `抬起鼠標(biāo)左鍵`;
[100, "EX", "input", "你好 world"], // 等待 `100ms` 后,在當(dāng)前位置輸入 `你好 world` 文字。
]
github地址:https://github.com/taojy123/KeymouseGo(源碼)