跳至主要內容

! 使用硬體鍵盤輸入文字 (: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())