! 建立獨立硬體鍵盤物件 (key.connect_keyboard)
該函式在 20260805 以後版本方可使用
聲明
硬體鍵盤物件, 錯誤資訊 = key.connect_keyboard([設定屬性])
參數
- 設定屬性 表型,可選參數,用於設定下列常用裝置屬性;代碼塊中的值為省略時的預設值:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}
還可以設定 VersionNumber、SerialNumber 和 LocationID。其它屬性不保證生效。
回傳值
- 硬體鍵盤物件
硬體鍵盤物件,建立成功時返回;建立失敗時返回
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()