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

! ハードウェアキーボードのキーを押して離す (:press)

このメソッドは 20260805 以降のバージョンでのみ使用できます

宣言

成功したかどうか, エラー情報 = ハードウェアキーボードオブジェクト:press(キーコード[, 押下時間])
成功したかどうか, エラー情報 = ハードウェアキーボードオブジェクト:press(Usage_Page, Usage_ID[, 押下時間])

引数

  • キーコード 文字列型。key.press と同じキー名マッピングを使用します。
  • Usage Page 整数型。現在、ハードウェアキーボードオブジェクトが受け付けるのは Keyboard/Keypad Usage Page 0x07 のみです。
  • Usage ID 整数型。文字コードではなく、物理キーの識別番号です。
  • 押下時間 実数型の省略可能な引数。キーを押してから離すまでの時間をミリ秒単位で指定します。デフォルトは 10 ミリ秒です。

戻り値

  • 成功したかどうか ブール型。キーの押下と解放に成功した場合は true、失敗した場合は false を返します。
  • エラー情報 文字列型。操作に失敗した場合はエラー情報を返します。

説明

対象のキーを押し、指定した時間だけ待ってから離します。待機中は暗黙的に実行権を譲るため、メソッドが戻る前に別のスレッドが実行される場合があります。

  • このメソッドは、呼び出し前から押されていた通常キーと修飾キーを保持し、現在の操作を完了するためにそれらを解放することはありません。
  • 同じハードウェアキーボードで :press または :send_text のシーケンスを実行中の場合、新しい操作は false, "hardware keyboard is busy" を返します。
  • 送信に失敗しても、別の入力方法で自動的に再試行することはありません。

使用例

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press("a"))
assert(keyboard:press(0x07, 4, 30)) -- A キーを 30 ミリ秒押したままにする

assert(keyboard:disconnect())