chromium/third_party/blink/renderer/modules/keyboard/keyboard.idl

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
    Exposed=Window,
    SecureContext
] interface Keyboard {
    // Keyboard Lock specification: https://w3c.github.io/keyboard-lock/
    [CallWith=ScriptState,
     RaisesException,
     MeasureAs=KeyboardApiLock
    ] Promise<undefined> lock(optional sequence<DOMString> keyCodes = []);

    [CallWith=ScriptState,
     MeasureAs=KeyboardApiUnlock
    ] void unlock();

    // Keyboard Map specification: https://wicg.github.io/keyboard-map/
    [CallWith=ScriptState,
     RaisesException,
     HighEntropy,
     MeasureAs=KeyboardApiGetLayoutMap
    ] Promise<KeyboardLayoutMap> getLayoutMap();
};