! 独立したハードウェアキーボードオブジェクトを作成する (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"に設定しても、Bluetooth 接続、アドバタイズ、ペアリングは行われず、他のデバイスの Bluetooth 一覧にキーボードが表示されることもありません- 同時に押したままにできる通常キーは最大 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()