按下手柄按鍵 (:down)
該方法在 20260805 以後版本方可使用
聲明
狀態, 錯誤資訊 = 手柄物件:down(按鍵)
參數
- 按鍵
整數型 或 文字型,可傳入
1至32的整數、下表中的按鍵名稱,或"start"、"menu";字串不區分大小寫
| 編號 | 按鍵名稱 | 別名 |
|---|---|---|
| 1 | a | - |
| 2 | b | - |
| 3 | x | - |
| 4 | y | - |
| 5 | left_shoulder | left_bumper、lb、l1 |
| 6 | right_shoulder | right_bumper、rb、r1 |
| 7 | left_trigger | lt、l2 |
| 8 | right_trigger | rt、r2 |
| 9 | left_stick | l3 |
| 10 | right_stick | r3 |
| 11 | l4 | left_paddle |
| 12 | r4 | right_paddle |
| 13 | m1 | - |
| 14 | m2 | - |
| 15 | m3 | - |
| 16 | m4 | - |
回傳值
- 狀態 布林型,操作成功返回 true,裝置斷開、忙或輸入發送失敗返回 false
- 錯誤資訊 文字型,操作失敗時的錯誤資訊
說明
- 數字
1至32表示數字按鍵,不是跨裝置統一的遊戲按鍵碼;通常應優先使用上表中的按鍵名稱 - 數字
17至32沒有預定義名稱,只有目標 App 支援相應擴充按鍵時才會產生效果 "start"和"menu"是同一個選單輸入的別名,不對應1至32中的某個數字select、back、options、home、share和觸控板按鍵名稱暫不支援left_trigger和right_trigger只支援按下或松開,不支援模擬壓力值;menu不會觸發系統主螢幕動作- 參數類型錯誤、未知名稱和越界值會作為 Lua 參數錯誤拋出,而不是返回
false, error
範例
local pad = assert(gamepad.connect())
assert(pad:down("left_shoulder"))
assert(pad:up("left_shoulder"))
assert(pad:down(13)) -- 數字按鍵 13
assert(pad:up(13))
assert(pad:disconnect())