#import // https://www.w3.org/TR/uievents/#idl-keyboardevent [Exposed=Window] interface KeyboardEvent : UIEvent { constructor(DOMString type, optional KeyboardEventInit eventInitDict = {}); // 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; readonly attribute unsigned long charCode; readonly attribute unsigned long keyCode; boolean getModifierState(DOMString keyArg); // https://w3c.github.io/uievents/#dom-keyboardevent-initkeyboardevent undefined initKeyboardEvent(DOMString typeArg, optional boolean bubblesArg = false, optional boolean cancelableArg = false, optional WindowProxy? viewArg = null, optional DOMString keyArg = "", optional unsigned long locationArg = 0, optional boolean ctrlKey = false, optional boolean altKey = false, optional boolean shiftKey = false, optional boolean metaKey = false); }; // https://www.w3.org/TR/uievents/#dictdef-keyboardeventinit dictionary KeyboardEventInit : EventModifierInit { DOMString key = ""; DOMString code = ""; unsigned long location = 0; boolean repeat = false; boolean isComposing = false; unsigned long charCode = 0; unsigned long keyCode = 0; };