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