servo/components/script_bindings/webidls/KeyboardEvent.webidl
Josh Matthews af8d7c2de7
script: Move code generation and webidl files to new script_bindings crate. (#35157)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-24 20:47:43 +00:00

60 lines
2.4 KiB
Text

/* 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;
};*/