跳到主要内容

! 创建独立硬件键盘对象 (key.connect_keyboard)

该函数在 20260805 以后版本方可使用

声明

硬件键盘对象, 错误信息 = key.connect_keyboard([配置属性])

参数

  • 配置属性 表型,可选参数,用于设置下列常用设备属性;代码块中的值为省略时的默认值:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}

还可以设置 VersionNumberSerialNumberLocationID。其它属性不保证生效。

返回值

  • 硬件键盘对象 硬件键盘对象,创建成功时返回;创建失败时返回 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()