跳至主要內容

按下手柄按鍵 (:down)

該方法在 20260805 以後版本方可使用

聲明

狀態, 錯誤資訊 = 手柄物件:down(按鍵)

參數

  • 按鍵 整數型 或 文字型,可傳入 132 的整數、下表中的按鍵名稱,或 "start""menu";字串不區分大小寫
編號按鍵名稱別名
1a-
2b-
3x-
4y-
5left_shoulderleft_bumperlbl1
6right_shoulderright_bumperrbr1
7left_triggerltl2
8right_triggerrtr2
9left_stickl3
10right_stickr3
11l4left_paddle
12r4right_paddle
13m1-
14m2-
15m3-
16m4-

回傳值

  • 狀態 布林型,操作成功返回 true,裝置斷開、忙或輸入發送失敗返回 false
  • 錯誤資訊 文字型,操作失敗時的錯誤資訊

說明

  • 數字 132 表示數字按鍵,不是跨裝置統一的遊戲按鍵碼;通常應優先使用上表中的按鍵名稱
  • 數字 1732 沒有預定義名稱,只有目標 App 支援相應擴充按鍵時才會產生效果
  • "start""menu" 是同一個選單輸入的別名,不對應 132 中的某個數字
  • selectbackoptionshomeshare 和觸控板按鍵名稱暫不支援
  • left_triggerright_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())