メインコンテンツまでスキップ

! 独立したハードウェアキーボードオブジェクトを作成する (key.connect_keyboard)

この関数は 20260805 以降のバージョンでのみ使用できます

宣言

ハードウェアキーボードオブジェクト, エラー情報 = key.connect_keyboard([設定プロパティ])

引数

  • 設定プロパティ テーブル型の省略可能な引数。以下の一般的なデバイスプロパティを設定します。コードブロック内の値は、省略した場合のデフォルト値です。
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}

VersionNumberSerialNumberLocationID も設定できます。その他のプロパティが反映される保証はありません。

戻り値

  • ハードウェアキーボードオブジェクト 作成に成功した場合はハードウェアキーボードオブジェクト、失敗した場合は 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()