跳至主要內容

按下手柄按鍵 (:down)

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

聲明​

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

參數​

  • 按鍵
    整數型 或 文字型,可傳入 1 至 32 的整數、下表中的按鍵名稱,或 "start"、"menu";字串不區分大小寫
編號按鍵名稱別名
1a-
2b-
3x-
4y-
5left_shoulderleft_bumper、lb、l1
6right_shoulderright_bumper、rb、r1
7left_triggerlt、l2
8right_triggerrt、r2
9left_stickl3
10right_stickr3
11l4left_paddle
12r4right_paddle
13m1-
14m2-
15m3-
16m4-

回傳值​

  • 狀態
    布林型,操作成功返回 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())