package body MSHTML.IDOMKeyboardEvent_Object is

   function Get_key
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_key);
   end Get_key;

   function Get_location
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_location);
   end Get_location;

   function Get_ctrlKey
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_ctrlKey);
   end Get_ctrlKey;

   function Get_shiftKey
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_shiftKey);
   end Get_shiftKey;

   function Get_altKey
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_altKey);
   end Get_altKey;

   function Get_metaKey
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_metaKey);
   end Get_metaKey;

   function Get_repeat
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_repeat);
   end Get_repeat;

   function getModifierState
     (This   : IDOMKeyboardEvent_Type;
      keyArg : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IDOMKeyboardEvent_getModifierState,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => keyArg),
         Free);
   end getModifierState;

   procedure initKeyboardEvent
     (This             : IDOMKeyboardEvent_Type;
      eventType        : GNATCOM.Types.VARIANT;
      canBubble        : GNATCOM.Types.VARIANT;
      cancelable       : GNATCOM.Types.VARIANT;
      viewArg          : GNATCOM.Types.VARIANT;
      keyArg           : GNATCOM.Types.VARIANT;
      locationArg      : GNATCOM.Types.VARIANT;
      modifiersListArg : GNATCOM.Types.VARIANT;
      repeat           : GNATCOM.Types.VARIANT;
      locale           : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
   is
   begin
      Invoke
        (This,
         IDOMKeyboardEvent_initKeyboardEvent,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => locale,
          2 => repeat,
          3 => modifiersListArg,
          4 => locationArg,
          5 => keyArg,
          6 => viewArg,
          7 => cancelable,
          8 => canBubble,
          9 => eventType),
         Free);
   end initKeyboardEvent;

   function Get_keyCode
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_keyCode);
   end Get_keyCode;

   function Get_charCode
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_charCode);
   end Get_charCode;

   function Get_which
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_which);
   end Get_which;

   function Get_ie9_char
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_ie9_char);
   end Get_ie9_char;

   function Get_locale
     (This : IDOMKeyboardEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMKeyboardEvent_Get_locale);
   end Get_locale;

end MSHTML.IDOMKeyboardEvent_Object;

