跳到主要内容

! 使用硬件键盘输入文本 (: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())