MuMuPlayer 巨集鍵位映射指南
MuMuPlayer 巨集鍵映射功能現已上線!現在 MuMu 為您帶來以下教學,幫助您快速上手~
注意:如果您目前使用的版本尚未具備巨集鍵映射功能,請升級至最新版本>>點擊獲取最新版本。
1. 如何建立與編輯巨集鍵
步驟一:點擊模擬器右上角的鍵盤&滑鼠/手把圖示。進入鍵位映射介面後,右鍵滑鼠展開鍵位面板以新增巨集鍵。

步驟二:新增巨集鍵後,點擊其圖示右下角進入巨集鍵編輯介面。

注意:編輯巨集鍵時,請留意以下幾點:
- 支援常用快捷鍵進行編輯操作,例如 Ctrl+A 全選、Ctrl+V 貼上、Ctrl+X 剪下、Ctrl+Z 復原、Ctrl+Y 重做等;
- 所有指令必須以英文小寫輸入;
- 點擊介面時,會自動獲取該位置的座標;
- 請注意[儲存]巨集按鈕,避免不小心關閉編輯彈窗導致內容遺失。
2. 巨集鍵指令說明
[觸發時機指令]
release_actions:每個按鍵操作都有按下 ↓與釋放 ↑兩種狀態。長按狀態可透過這兩種組合搭配指令來完成。
當執行巨集鍵時,預設為按下按鍵時立即觸發;
若有些指令需要在釋放時觸發,請在需要釋放的指令前輸入release_actions指令。
範例:
//按下巨集鍵時,按住座標點 (0,0)。釋放巨集鍵時,釋放座標點 (0,0)。
Press 0,0
release_actions
Release 0,0
[單擊指令]
click x1,y1 x2,y2...:點擊座標點,支援單一位置點擊,或同時點擊多個位置以實現多點觸控。
支援座標點變數,例如 mouse。
注意:對於單擊指令,從按下某座標到釋放的時間是固定的。
範例:
//同時點擊座標點 (0,0)(1,1) 以及目前滑鼠位置,等待 100 毫秒後,再點擊 (2,2)
Click 0,0 1,1 mouse
sleep 100
Click 2,2
[按住與釋放指令]
press x1,y1 x2,y2...: 按住一個座標點,支援按住一個位置,或同時按住多個位置。
release x1,y1 x2,y2...: 釋放某個座標點的按住狀態,支援釋放一個或多個位置。
switch x1,y1 x2,y2...: 切換某個座標點的[按住]與[釋放]狀態。
以上三種指令支援座標點變數,例如滑鼠。
範例:
//同時按住 (0,0) 和 (1,1),當巨集按鈕釋放時再釋放這兩個點
press 0,0 1,1
release_actions
release 0,0 1,1
//切換 (0,0) 觸控狀態,每次按下巨集按鈕時切換狀態
switch 0,0
key_press a: 模擬按下鍵盤按鍵。
key_release a: 模擬釋放鍵盤按鍵。
key_switch a: 切換鍵盤按鍵的按下/釋放狀態。
範例:
//當按住巨集按鈕時,同時模擬按下 [A] 鍵。當釋放巨集按鈕時,釋放 [A] 鍵。
key_press a
release_actions
key_release a
//[A] 鍵為連發鍵,每次點擊巨集按鈕時,切換 [A] 鍵的狀態。
//實現按住 [A] 鍵持續連擊,再次按下則結束連擊的模擬。
key_switch a
mouse_press left: 僅限滑鼠,模擬按下滑鼠按鍵。
mouse_release left: 僅限滑鼠,模擬按下並釋放滑鼠按鍵。
mouse_switch left: 僅限滑鼠,切換滑鼠按鍵的按住/釋放狀態。
上述三個指令支援:中鍵、左鍵、右鍵、後退鍵、前進鍵。
joystick_press a: 專用於手把,模擬按下某個手把按鍵。
joystick_release a: 專用於手把,模擬按下並釋放手把按鍵。
joystick_switch a: 專用於手把,切換某個手把按鍵的按住/釋放狀態。
上述指令支援所有手把按鍵,例如 xbox 控制器/模式下的 a、b、x、y、lb...;ps 控制器的 0、1、2。
注意:不同品牌和型號的手把有不同的鍵值,因此可根據要調用的按鍵所顯示的鍵值名稱填寫參數。關於鍵值名稱,可以先新增一個點擊按鍵,輸入鍵值後查看其鍵值為何。
[滑動指令]
curve x1,y1 x2,y2...: 表示從 (x1,y1) 滑動到 (x2,y2),然後再到...
注意:必須包含至少 2 個位置,且每個滑動點之間的時間是固定的;支援全域變數,例如 mouse。
滑動輔助指令需在滑動指令之前加入,以協助實現其他操作效果:
curve_first_time 時間 (毫秒):表示需要在第一個點停留。該指令後需接時間參數,單位為毫秒(ms)。
curve_last_time 時間 (毫秒):表示滑動完成後停留在最後一個點。該指令後需接時間參數,單位為毫秒(ms)。
>curve_last_time untilcmd:表示停留在最後一個點並等待釋放指令 curve_release。
curve_release:表示釋放曲線的觸控並釋放指令。此指令寫在滑動指令之後。
範例:
//滑動從 (0,0) 開始,在 (0,0) 停留 100 毫秒,滑動到 (1,1),再滑動到目前的 mouse 位置,並在釋放巨集按鈕後結束滑動
curve_first_time 100
curve_last_time untilcmd
curve 0,0 1,1 mouse
release_actions
curve_release
[等待指令]
sleep 持續時間:表示在繼續執行前等待一段時間。
範例:
//點擊 (0,0) 後,等待 1 秒再點擊另一個位置 (1,1)
click 0,0
sleep 1000
click 1,1
[準星指令(隱藏與顯示游標指令)]
enter_staring: 進入準星
exit_staring: 離開準星
[循環指令]
loop
…….
loop_end
表示循環的開始。從 loop 到 loop_end 之間的指令會被重複執行。
loop 有一個循環次數參數:
直接使用數字表示循環次數,例如:loop 100
如果需要循環直到巨集按鍵釋放,請使用:loop until_release
注意:
① 目前循環不支援部分按下時執行與部分釋放時執行,也就是說,如果在循環中間插入 release_actions,循環指令將會失效;
② 設定循環時,如果循環內時間較長,不建議在執行其他指令前使用 release_actions 指令。因為循環尚未結束,釋放指令可能無法正常運作;
③ 循環結束後必須包含 loop_end 指令。
範例:
//設定當按住巨集鍵時,持續點擊滑鼠位置,每次按住 50 毫秒後釋放。直到巨集按鍵釋放才停止點擊。
loop until_release
press mouse
sleep 50
release mouse
sleep 50
loop_end
[其他指令]
文字「xxxx」: 輸入文字 xxxx。
注意:
① 文字內容需用英文雙引號括起來。
② 當輸入框開啟時,包含文字指令的巨集鍵無法使用,因為此時按鍵映射會失效,導致巨集鍵無法正常運作,因此在設定文字輸入操作時,請務必加入開啟輸入框的步驟。
範例:
//點擊 (0,0) 位置,等待 1 秒讓輸入框正常展開,輸入文字,等待 100 毫秒讓文字正常輸入,然後點擊 (1,1) 位置關閉輸入框
click 0,0
sleep 1000
text "123456"
sleep 100
click 1,1
在此範例中,加入 sleep 是為了避免點擊與文字輸入同時執行。如果未加入 sleep,當點擊與文字輸入同時執行時,文字輸入操作可能在輸入框開啟前就已完成。
release_all: 表示釋放所有已按下的按鍵
[全域變數]
mouse: 表示目前滑鼠游標所在的座標點
文章已到底