QtScrcpy自定義按鍵映射說明
按鍵映射文件為json格式,新增自己的按鍵映射文件需要放在keymap目錄中才可以被QtScrcpy識別。
按鍵映射文件的具體編寫格式下面會介紹,也可以參考自帶的按鍵映射文件。
按鍵映射腳本格式說明
通用說明
-
按鍵映射中的坐標位置都是用相對位置表示的,屏幕的寬高都用1表示,例如屏幕的像素為1920×1080,那麼坐標(0.5,0.5)則表示的是 以屏幕左上角為原點,像素坐標(1920,1080)*(0.5,0.5)=(960,540)的位置。
-
按鍵映射中的按鍵碼是用Qt的枚舉表示的,詳細說明可以參考Qt文檔(搜索 The key names used by Qt. 可以快速定位)。
映射類型說明
-
switchKey:切換自定義按鍵映射的開關鍵,默認為普通映射,需要使用這個按鍵在普通映射和自定義映射之間切換。
-
mouseMoveMap:鼠標移動映射,鼠標的移動將被映射為以startPos為起點,以鼠標移動方向為移動方向的手指拖動操作(開啟鼠標移動映射以後會隱藏鼠標,限制鼠標移動範圍)。 一般在FPS手游中用來調整人物視野。
- startPos 手指拖動起始點
- speedRatio 鼠標移動映射為手指拖動的比例,可以控制鼠標靈敏度,數值要大於0.00225,數值越大,靈敏度越低,Y軸以2.25的比率平移。如果這不適合您的手機屏幕,請使用以下兩種設置來設置單個靈敏度值。
- speedRatioX 鼠標X軸的速度比靈敏度。此值必須至少為0.001。
- speedRatioY 鼠標Y軸的速度比靈敏度。此值必須至少為0.001。
- smallEyes 觸發小眼睛的按鍵,按下此按鍵以後,鼠標的移動將被映射為以smallEyes.pos為起點,以鼠標移動方向為移動方向的手指拖動操作
-
keyMapNodes 一般按鍵的映射,json數組,所有一般按鍵映射都放在這個數組中,將鍵盤的按鍵映射為普通的手指點擊。
一般按鍵映射有如下幾種類型:
- type 按鍵映射的類型,每個keyMapNodes中的元素都需要指明,可以是如下類型:
- KMT_CLICK 普通點擊,按鍵按下模擬為手指按下,按鍵抬起模擬為手指抬起
- KMT_CLICK_TWICE 兩次點擊,按鍵按下模擬為手指按下再抬起,按鍵抬起模擬為手指按下再抬起
- KMT_CLICK_MULTI 多次點擊,根據clickNodes數組中的delay和pos實現一個按鍵多次點擊
- KMT_DRAG 拖拽,按鍵按下模擬為手指按下並拖動一段距離,按鍵抬起模擬為手指抬起
- KMT_STEER_WHEEL 方向盤映射,專用於FPS遊戲中移動人物腳步的方向盤的映射,需要4個按鍵來配合。
不同按鍵映射類型的專有屬性說明:
-
KMT_CLICK
- key 要映射的按鍵碼
- pos 模擬觸摸的位置
- switchMap 是否釋放出鼠標,點擊此按鍵後,除了默認的模擬觸摸映射,是否釋放出鼠標操作。(可以參考和平精英映射中M地圖映射的效果)
-
KMT_CLICK_TWICE
- key 要映射的按鍵碼
- pos 模擬觸摸的位置
-
KMT_CLICK_MULTI
- delay 延遲delay毫秒以後再模擬觸摸
- pos 模擬觸摸的位置
-
KMT_DRAG
- key 要映射的按鍵碼
- startPos 模擬觸摸拖動的開始位置
- endPos 模擬觸摸拖動的結束位置
-
KMT_STEER_WHEEL
- centerPos 方向盤中心點
- leftKey 左方向的按鍵控制
- rightKey 右方向的按鍵控制
- upKey 上方向的按鍵控制
- downKey 下方向的按鍵控制
- leftOffset 按下左方向鍵後模擬拖動到相對centerPos位置水平偏左leftOffset處
- rightOffset 按下右方向鍵後模擬拖動到相對centerPos位置水平偏右rightOffset處
- upOffset 按下上方向鍵後模擬拖動到相對centerPos位置水平偏上upOffset處
- downOffset 按下下方向鍵後模擬拖動到相對centerPos位置水平偏下downOffset處
原創文章,作者:超哥,如若轉載,請註明出處:https://www.chaoneo.cn/zh-hant/archives/3219.html
如果您覺得超哥分享對您有所幫助的話,記得打賞給我😀