Keyboard: lock() メソッド
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
lock()
は Keyboard
インターフェイスのメソッドで、物理キーボード上の任意のキーまたはすべてのキーのキー押下のキャプチャを有効にした後、プロミス (Promise
) を返します。このメソッドでキャプチャできるのは、基本的なオペレーティングシステムがアクセスを許可しているキーだけです。
lock()
を複数回呼び出すと、最後に呼び出したキーコードだけがロックされます。
前に lock()
を呼び出したときにロックされたキーはロック解除されます。
構文
lock()
lock(keyCodes)
引数
keyCodes
省略可-
ロックする 1 つ以上のキーコードの配列 (
Array
)。キーコードが指定されなかった場合、すべてのキーがロックされます。有効なコード値のリストは、 UI Events KeyboardEvent code Values 仕様にあります。
返値
例外
AbortError
DOMException
-
現在の呼び出しが終了する前に
lock()
を新たに呼び出した場合に発生します。 InvalidAccessError
DOMException
-
keyCodes 内のキーが有効なキーコード属性値でない場合に発生します。
InvalidStateError
DOMException
-
アクティブな最上位の閲覧コンテキストで
lock()
が呼び出されなかった場合に発生します。
セキュリティ
一時的なユーザーによる有効化が必要です。この機能が動作するためには、ユーザーがページや UI 要素を操作する必要があります。
例
すべてのキーのキャプチャ
次の例では、すべてのキー入力をキャプチャします。
navigator.keyboard.lock();
特定のキーのキャプチャ
以下の例では、"W"、"A"、"S"、"D" キーをキャプチャしています。キーを押したときにどの修飾キーが使われたかに関係なく、これらのキーをキャプチャします。標準的な US QWERTY レイアウトを想定すると、 "KeyW"
を登録することで、"W"、Shift+"W"、Control+"W"、Control+Shift+"W"、その他すべての修飾キーと "W" の組み合わせがアプリに送信されるようになります。
KeyA"
、"KeyS"
、"KeyD"
についても同様です。
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);
仕様書
Specification |
---|
Keyboard Lock # h-keyboard-lock |
ブラウザーの互換性
BCD tables only load in the browser