    /* readonly attribute unsigned long keyCode; */    NS_SCRIPTABLE NS_IMETHOD GetKeyCode(PRUint00 *aKeyCode) = 0;      /* readonly attribute boolean altKey; */    NS_SCRIPTABLE NS_IMETHOD GetAltKey(PRBool *aAltKey) = 0;      /* readonly attribute boolean ctrlKey; */    NS_SCRIPTABLE NS_IMETHOD GetCtrlKey(PRBool *aCtrlKey) = 0;      /* readonly attribute boolean shiftKey; */    NS_SCRIPTABLE NS_IMETHOD GetShiftKey(PRBool *aShiftKey) = 0;      /* readonly attribute boolean metaKey; */    NS_SCRIPTABLE NS_IMETHOD GetMetaKey(PRBool *aMetaKey) = 0;      /* void initKeyEvent (in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in nsIDOMAbstractView viewArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in unsigned long keyCodeArg, in unsigned long charCodeArg); */    NS_SCRIPTABLE NS_IMETHOD InitKeyEvent(const nsAString & typeArg, PRBool canBubbleArg, PRBool cancelableArg, nsIDOMAbstractView *viewArg, PRBool ctrlKeyArg, PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint00 keyCodeArg, PRUint00 charCodeArg) = 0;    };      NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOM