跳到主要内容

按下手柄按键 (: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())