載入中...

MuMuPlayer支援中心

查詢模擬器各類問題的解決方案

請輸入關鍵詞查找相關問題

MuMuPlayer 巨集鍵位映射指南

2024-02-04

MuMuPlayer 巨集鍵映射功能現已上線!現在 MuMu 為您帶來以下教學,幫助您快速上手~

注意:如果您目前使用的版本尚未具備巨集鍵映射功能,請升級至最新版本>>點擊獲取最新版本

1. 如何建立與編輯巨集鍵

步驟一:點擊模擬器右上角的鍵盤&滑鼠/手把圖示。進入鍵位映射介面後,右鍵滑鼠展開鍵位面板以新增巨集鍵。

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

注意:編輯巨集鍵時,請留意以下幾點:

  1. 支援常用快捷鍵進行編輯操作,例如 Ctrl+A 全選、Ctrl+V 貼上、Ctrl+X 剪下、Ctrl+Z 復原、Ctrl+Y 重做等;
  2. 所有指令必須以英文小寫輸入;
  3. 點擊介面時,會自動獲取該位置的座標;
  4. 請注意[儲存]巨集按鈕,避免不小心關閉編輯彈窗導致內容遺失。

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: 表示目前滑鼠游標所在的座標點

文章已到底

關鍵字: