跳到主要内容

! 使用硬件键盘输入文本 (:send_text)

该方法在 20260805 以后版本方可使用

声明

是否成功, 错误信息 = 硬件键盘对象:send_text(文本[, 每键延迟, Shift键延迟])

参数

  • 文本 文本型,需要输入的文字;仅支持英文、数字、空格、半角字符以及 "\b""\r""\t"
  • 每键延迟 实数型,可选参数,每个按键操作之间的延迟毫秒数,默认 0。
  • Shift 键延迟 实数型,可选参数,按下或松开 Shift 前后的延迟毫秒数,默认 0。

返回值

  • 是否成功 布尔型,全部文本发送成功时返回 true,失败时返回 false
  • 错误信息 文本型,发送失败时返回错误信息。

说明

根据当前 Lua 的美式键盘映射生成按键和 Shift 组合。输入过程中的等待会隐式让出,在方法返回之前,其他线程可能获得执行机会。

  • 最终输入的字符仍受目标系统键盘布局影响。
  • 本方法会保护调用前已经按下的普通键和修饰键。
  • 同一硬件键盘正在执行 :press:send_text 序列时,新的操作返回 false, "hardware keyboard is busy"
  • 发送失败时不会自动改用其它输入方式重试。

示例

local keyboard = assert(key.connect_keyboard())

assert(keyboard:send_text("Hello"))
assert(keyboard:send_text("Hello", 30, 10))

assert(keyboard:disconnect())