01 September, 2000

Appendix A: IDL Definitions

This appendix contains the complete OMG IDL [OMGIDL] for the Level 3 Document Object Model Events definitions.

The IDL files are also available as: http://www.w3.org/TR/2000/WD-DOM-Level-3-Events-20000901/idl.zip

events.idl:

// File: events.idl

#ifndef _EVENTS_IDL_
#define _EVENTS_IDL_

#include "dom.idl"
#include "views.idl"

#pragma prefix "dom.w3c.org"
module events
{

  typedef dom::DOMString DOMString;
  typedef dom::EventListener EventListener;
  typedef dom::UIEvent UIEvent;

  interface EventGroup {
  };

  interface EventTargetGroup {
    void               addEventListener(in DOMString type, 
                                        in EventListener listener, 
                                        in boolean useCapture, 
                                        in EventGroup eventGroup);
    void               removeEventListener(in DOMString type, 
                                           in EventListener listener, 
                                           in boolean useCapture, 
                                           in EventGroup eventGroup);
  };

  interface EventGrouped {
    void               stopPropagation(in EventGroup eventGroup);
  };

  interface DocumentEventGroup {
    EventGroup         createEventGroup();
  };

  // Introduced in DOM Level 3:
  interface KeyEvent : UIEvent {

    // VirtualKeyCode
    const unsigned long       DOM_VK_UNDEFINED               = 0x0;
    const unsigned long       DOM_VK_RIGHT_ALT               = 0x12;
    const unsigned long       DOM_VK_LEFT_ALT                = 0x12;
    const unsigned long       DOM_VK_LEFT_CONTROL            = 0x11;
    const unsigned long       DOM_VK_RIGHT_CONTROL           = 0x11;
    const unsigned long       DOM_VK_LEFT_SHIFT              = 0x10;
    const unsigned long       DOM_VK_RIGHT_SHIFT             = 0x10;
    const unsigned long       DOM_VK_META                    = 0x9D;
    const unsigned long       DOM_VK_BACK_SPACE              = 0x08;
    const unsigned long       DOM_VK_CAPS_LOCK               = 0x14;
    const unsigned long       DOM_VK_DELETE                  = 0x7F;
    const unsigned long       DOM_VK_END                     = 0x23;
    const unsigned long       DOM_VK_ENTER                   = 0x0D;
    const unsigned long       DOM_VK_ESCAPE                  = 0x1B;
    const unsigned long       DOM_VK_HOME                    = 0x24;
    const unsigned long       DOM_VK_NUM_LOCK                = 0x90;
    const unsigned long       DOM_VK_PAUSE                   = 0x13;
    const unsigned long       DOM_VK_PRINTSCREEN             = 0x9A;
    const unsigned long       DOM_VK_SCROLL_LOCK             = 0x91;
    const unsigned long       DOM_VK_SPACE                   = 0x20;
    const unsigned long       DOM_VK_TAB                     = 0x09;
    const unsigned long       DOM_VK_LEFT                    = 0x25;
    const unsigned long       DOM_VK_RIGHT                   = 0x27;
    const unsigned long       DOM_VK_UP                      = 0x26;
    const unsigned long       DOM_VK_DOWN                    = 0x28;
    const unsigned long       DOM_VK_PAGE_DOWN               = 0x22;
    const unsigned long       DOM_VK_PAGE_UP                 = 0x21;
    const unsigned long       DOM_VK_F1                      = 0x70;
    const unsigned long       DOM_VK_F2                      = 0x71;
    const unsigned long       DOM_VK_F3                      = 0x72;
    const unsigned long       DOM_VK_F4                      = 0x73;
    const unsigned long       DOM_VK_F5                      = 0x74;
    const unsigned long       DOM_VK_F6                      = 0x75;
    const unsigned long       DOM_VK_F7                      = 0x76;
    const unsigned long       DOM_VK_F8                      = 0x77;
    const unsigned long       DOM_VK_F9                      = 0x78;
    const unsigned long       DOM_VK_F10                     = 0x79;
    const unsigned long       DOM_VK_F11                     = 0x7A;
    const unsigned long       DOM_VK_F12                     = 0x7B;
    const unsigned long       DOM_VK_F13                     = 0xF000;
    const unsigned long       DOM_VK_F14                     = 0xF001;
    const unsigned long       DOM_VK_F15                     = 0xF002;
    const unsigned long       DOM_VK_F16                     = 0xF003;
    const unsigned long       DOM_VK_F17                     = 0xF004;
    const unsigned long       DOM_VK_F18                     = 0xF005;
    const unsigned long       DOM_VK_F19                     = 0xF006;
    const unsigned long       DOM_VK_F20                     = 0xF007;
    const unsigned long       DOM_VK_F21                     = 0xF008;
    const unsigned long       DOM_VK_F22                     = 0xF009;
    const unsigned long       DOM_VK_F23                     = 0xF00A;
    const unsigned long       DOM_VK_F24                     = 0xF00B;

             attribute DOMString        outputString;
             attribute unsigned long    keyVal;
             attribute unsigned long    virtKeyVal;
             attribute boolean          inputGenerated;
             attribute boolean          numPad;
    boolean            GetModifier(in unsigned long modifer);
    void               initKeyEvent(in DOMString typeArg, 
                                    in boolean canBubbleArg, 
                                    in boolean cancelableArg, 
                                    in views::AbstractView viewArg, 
                                    in unsigned short detailArg, 
                                    in DOMString outputStringArg, 
                                    in unsigned long keyValArg, 
                                    in unsigned long virtKeyValArg, 
                                    in boolean inputGeneratedArg, 
                                    in boolean numPadArg);
  };
};

#endif // _EVENTS_IDL_