! 创建独立硬件键盘对象 (key.connect_keyboard)
该函数在 20260805 以后版本方可使用
声明
硬件键盘对象, 错误信息 = key.connect_keyboard([配置属性])
参数
- 配置属性 表型,可选参数,用于设置下列常用设备属性;代码块中的值为省略时的默认值:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}
还可以设置 VersionNumber、SerialNumber 和 LocationID。其它属性不保证生效。
返回值
- 硬件键盘对象
硬件键盘对象,创建成功时返回;创建失败时返回
nil。 - 错误信息 文本型,创建失败时返回错误信息。
创建失败时,两个返回值合起来为 nil, error。
说明
创建一个独立的硬件键盘对象;每个对象的按键状态和连接生命周期彼此独立。 连接等待期间会隐式让出,在函数返回之前,其他线程可能获得执行机会。
Transport只影响 iOS 或目标 App 识别该键盘的方式。设为"Bluetooth"或"BluetoothLowEnergy"不会建立蓝牙连接、广播或配对,也不会让键盘出现在其它设备的蓝牙列表中- 同一时间最多按住 6 个普通按键,修饰键不计入;超过限制时目标系统无法识别具体按键,请先释放部分按键
- 目标 App 可能无法区分多个硬件键盘对象的输入来源
- 本函数只创建独立对象,不会改变现有
key.*接口;如需让现有接口使用硬件键盘,请调用key.connect_global_keyboard - 发送失败时不会自动改用其它输入方式重试
示例
local keyboard, err = key.connect_keyboard({
Product = "XXTouch Keyboard",
})
assert(keyboard, err)
assert(keyboard:press("a"))
assert(keyboard:down("LEFTSHIFT"))
assert(keyboard:press("b"))
assert(keyboard:up("LEFTSHIFT"))
assert(keyboard:send_text("Hello"))
keyboard:disconnect()