/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /* * The origin of this IDL file is * https://w3c.github.io/uievents/#interface-keyboardevent * */ [Exposed=Window] interface KeyboardEvent : UIEvent { [Throws] constructor(DOMString typeArg, optional KeyboardEventInit keyboardEventInitDict = {}); // KeyLocationCode const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00; const unsigned long DOM_KEY_LOCATION_LEFT = 0x01; const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02; const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03; readonly attribute DOMString key; readonly attribute DOMString code; readonly attribute unsigned long location; readonly attribute boolean ctrlKey; readonly attribute boolean shiftKey; readonly attribute boolean altKey; readonly attribute boolean metaKey; readonly attribute boolean repeat; readonly attribute boolean isComposing; boolean getModifierState (DOMString keyArg); }; // https://w3c.github.io/uievents/#idl-interface-KeyboardEvent-initializers partial interface KeyboardEvent { // Originally introduced (and deprecated) in DOM Level 3 undefined initKeyboardEvent (DOMString typeArg, boolean bubblesArg, boolean cancelableArg, Window? viewArg, DOMString keyArg, unsigned long locationArg, DOMString modifiersListArg, boolean repeat, DOMString locale); }; // https://w3c.github.io/uievents/#legacy-interface-KeyboardEvent partial interface KeyboardEvent { // The following support legacy user agents readonly attribute unsigned long charCode; readonly attribute unsigned long keyCode; readonly attribute unsigned long which; }; // https://w3c.github.io/uievents/#dictdef-keyboardeventinit dictionary KeyboardEventInit : EventModifierInit { DOMString key = ""; DOMString code = ""; unsigned long location = 0; boolean repeat = false; boolean isComposing = false; }; // https://w3c.github.io/uievents/#legacy-dictionary-KeyboardEventInit /*partial dictionary KeyboardEventInit { unsigned long charCode = 0; unsigned long keyCode = 0; unsigned long which = 0; };*/