芜湖尾敢投资有限公司

KeymouseGo鼠標鍵盤錄制和自動化操作軟件——墨澀網(wǎng)

功能:記錄用戶的鼠標鍵盤操作,通過觸發(fā)按鈕自動執(zhí)行之前記錄的操作,可設(shè)定執(zhí)行的次數(shù),可以理解為?精簡綠色版?的?按鍵精靈。

用途:在進行某些操作簡單、單調(diào)重復的工作時,使用本軟件就可以很省力了。自己只要做一遍,然后接下來就讓電腦來做。

開源地址

https://github.com/taojy123/KeymouseGo

安裝

 

該軟件通過?Python?語言編寫,已打包為可執(zhí)行文件,未安裝?Python?的用戶可直接下載?release?版本 ,直接點擊?KeymouseGo?運行

源碼打包可執(zhí)行文件

 

  • Windows
1. 安裝 Python3
2. pip install -r requirements-windows.txt
3. pip install pyinstaller
4. pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py
  • Linux或Mac
1. 安裝 Python3
2. pip3 install -r requirements-universal.txt
3. pip3 install pyinstaller
4. pyinstaller -F -w --add-data "./assets:assets" KeymouseGo.py

使用方法

 

基本操作

 

桌面模式

 

1、點擊?錄制?按鈕,開始錄制。

2、在計算機上進行任意操作,如點擊鼠標、鍵盤輸入,這部分的動作會被記錄下來。

3、點擊?結(jié)束?按鈕,結(jié)束錄制。

4、點擊?啟動?按鈕,計算機會重復執(zhí)行一遍第2步中所錄制的動作。

命令行模式

 

直接運行指定腳本:

> ./KeymouseGo scripts/0314_1452.txt

運行指定腳本3次:

> ./KeymouseGo scripts/0314_1452.txt -rt 3
> ./KeymouseGo scripts/0314_1452.txt --runtimes 3

以200%的速度運行指定腳本:

> ./KeymouseGo scripts/0314_1452.txt -sp 200
> ./KeymouseGo scripts/0314_1452.txt --speed 200

加載自定義擴展MyExtension運行指定腳本:

> ./KeymouseGo scripts/0314_1452.txt -m MyExtension
> ./KeymouseGo scripts/0314_1452.txt --module MyExtension

提示

 

1、可設(shè)置腳本重復執(zhí)行的次數(shù),如果為?0?即為無限循環(huán)。

2、默認啟動熱鍵為?F6,功能等同于?啟動?按鈕;默認終止熱鍵為?F9,按下后將會停止正在運行的腳本。

3、錄制時只記錄鼠標點擊動作和鍵盤動作,不記錄鼠標移動軌跡。

4、每次錄制結(jié)束后都會在?scripts?目前下生成一個新的腳本文件。

5、運行前可以在列表中選擇一個需要執(zhí)行的腳本。

6、scripts?下的腳本文件內(nèi)容可以修改,修改時可參考如下所述?腳本格式說明。

7、熱鍵設(shè)置中的Middle指代鼠標中鍵,XButton指代鼠標側(cè)鍵

8、由于程序速度受限,當輸入的鼠標速度大于一定值時腳本將無法以預期的輸入速度執(zhí)行

部分系統(tǒng)環(huán)境中,可能出現(xiàn)無法錄制完整的鼠標事件的情況,請以管理員身份/root身份運行此工具即可正常使用。

使用Mac的用戶,需要確保程序在輔助功能白名單,如果使用打包的exec文件,則還需要確保終端也在輔助功能白名單。 如果app程序閃退,請嘗試給予~/.qt_material目錄下文件的寫權(quán)限:

chmod -R 770 ~/.qt_material

腳本語法說明

 

演示屏幕分辨率為1920 * 1080

[
 [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` 文字。
]

腳本為?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 個元素表示具體的動作參數(shù)
    • 當為鼠標動作時,由兩個子元素構(gòu)成,分別為鼠標所在的屏幕位置的橫縱坐標,
    • 當為鍵盤動作時,由三個子元素構(gòu)成,分別是(按鍵編號, 按鍵名, 拓展標記),
    • 當為輸入文字動作時,為要輸入的文字內(nèi)容。
  • 每行?//?后的部分為注釋內(nèi)容。
  • 修改時請嚴格遵守格式,否則可能導致腳本無法運行,建議修改前先備份一下。
  • 橫縱坐標為[-1, -1]時,表示在鼠標當前所在位置執(zhí)行操作。

自定義擴展

 

功能的使用詳見wiki

關(guān)于作者

 

我是陶佳元,熱愛代碼,懷舊,在互聯(lián)網(wǎng)上常用的 ID 有 taojy123 、tao.py。

我的個人站點?tslow.cn?整理并羅列了一些?個人項目?和?小工具?合集。

你可以在?簡書?瀏覽我最新發(fā)布的文章,還可以在?B站?觀看我的技術(shù)分享和生活紀實。

我的郵箱:?taojy123@163.com


開源貢獻者

 

如果您是開發(fā)愛好者,并對本項目感興趣,歡迎參與項目的共同建設(shè),您可以通過本項目的dev分支查看目前的進度,并且可以向本項目的dev分支提交 Pull request 來貢獻代碼。

在此,特別感謝積極貢獻者:

?

感謝 JetBrains 免費提供開發(fā)工具


更新說明

 

暫時沒法打包?x86?版本,32 位系統(tǒng)的同學請自行源碼編譯,或?下載v1.5老版本?使用

v5.1

 

  • 支持在Linux和Mac環(huán)境下運行
  • 支持在多屏環(huán)境下運行(僅Windows)
  • 修復程序在執(zhí)行連點操作時有概率崩潰的問題
  • 修復文件選擇器選擇腳本后選項卡未更新的問題

下載地址

鏈接:https://pan.quark.cn/s/23f6367d04bb

THE END