blob: 77dc061ae82350f867a6895b0dcabdf8141bffce [file] [log] [blame]
/*
* Copyright (C) 2006 Apple Inc.
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
[
ConstructorConditional=DOM4_EVENTS_CONSTRUCTOR,
ConstructorTemplate=Event,
] interface KeyboardEvent : UIEvent {
#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
// KeyLocationCode
const unsigned long KEY_LOCATION_STANDARD = 0x00;
const unsigned long KEY_LOCATION_LEFT = 0x01;
const unsigned long KEY_LOCATION_RIGHT = 0x02;
const unsigned long KEY_LOCATION_NUMPAD = 0x03;
#endif
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
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;
// FIXME: The following constants are defined in the specification but
// not yet supported.
// const unsigned long DOM_KEY_LOCATION_MOBILE = 0x04;
// const unsigned long DOM_KEY_LOCATION_JOYSTICK = 0x05;
#endif
[InitializedByEventConstructor] readonly attribute DOMString keyIdentifier;
[InitializedByEventConstructor] readonly attribute unsigned long location;
[InitializedByEventConstructor, ImplementedAs=location] readonly attribute unsigned long keyLocation; // Deprecated.
[InitializedByEventConstructor] readonly attribute boolean ctrlKey;
[InitializedByEventConstructor] readonly attribute boolean shiftKey;
[InitializedByEventConstructor] readonly attribute boolean altKey;
[InitializedByEventConstructor] readonly attribute boolean metaKey;
readonly attribute boolean altGraphKey;
#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
boolean getModifierState(optional DOMString keyIdentifierArg);
#endif
// FIXME: this does not match the version in the DOM spec.
// FIXME: Using "undefined" as default parameter value is wrong.
void initKeyboardEvent(optional DOMString type = "undefined",
optional boolean canBubble = false,
optional boolean cancelable = false,
optional DOMWindow? view = null,
optional DOMString keyIdentifier = "undefined",
optional unsigned long location = 0,
optional boolean ctrlKey = false,
optional boolean altKey = false,
optional boolean shiftKey = false,
optional boolean metaKey = false,
optional boolean altGraphKey = false);
// WebKit Extensions
#if (!defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT) && (!defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT)
readonly attribute long keyCode;
readonly attribute long charCode;
// FIXME: Using "undefined" as default parameter value is wrong.
void initKeyboardEvent(optional DOMString type = "undefined",
optional boolean canBubble = false,
optional boolean cancelable = false,
optional DOMWindow? view = null,
optional DOMString keyIdentifier = "undefined",
optional unsigned long location = 0,
optional boolean ctrlKey = false,
optional boolean altKey = false,
optional boolean shiftKey = false,
optional boolean metaKey = false);
#endif
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
// For backward compatibility.
void initKeyboardEvent(optional DOMString type,
optional boolean canBubble,
optional boolean cancelable,
optional DOMWindow? view,
optional DOMString keyIdentifier,
optional unsigned long keyLocation,
optional boolean ctrlKey,
optional boolean altKey,
optional boolean shiftKey,
optional boolean metaKey,
optional boolean altGraphKey);
void initKeyboardEvent(optional DOMString type,
optional boolean canBubble,
optional boolean cancelable,
optional DOMWindow? view,
optional DOMString keyIdentifier,
optional unsigned long keyLocation,
optional boolean ctrlKey,
optional boolean altKey,
optional boolean shiftKey,
optional boolean metaKey);
#endif
};