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