{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2WebExtension.Objects.DOMKeyboardEvent
    ( 

-- * Exported types
    DOMKeyboardEvent(..)                    ,
    IsDOMKeyboardEvent                      ,
    toDOMKeyboardEvent                      ,
    noDOMKeyboardEvent                      ,


 -- * Methods
-- ** getAltGraphKey #method:getAltGraphKey#
    DOMKeyboardEventGetAltGraphKeyMethodInfo,
    dOMKeyboardEventGetAltGraphKey          ,


-- ** getAltKey #method:getAltKey#
    DOMKeyboardEventGetAltKeyMethodInfo     ,
    dOMKeyboardEventGetAltKey               ,


-- ** getCtrlKey #method:getCtrlKey#
    DOMKeyboardEventGetCtrlKeyMethodInfo    ,
    dOMKeyboardEventGetCtrlKey              ,


-- ** getKeyIdentifier #method:getKeyIdentifier#
    DOMKeyboardEventGetKeyIdentifierMethodInfo,
    dOMKeyboardEventGetKeyIdentifier        ,


-- ** getKeyLocation #method:getKeyLocation#
    DOMKeyboardEventGetKeyLocationMethodInfo,
    dOMKeyboardEventGetKeyLocation          ,


-- ** getMetaKey #method:getMetaKey#
    DOMKeyboardEventGetMetaKeyMethodInfo    ,
    dOMKeyboardEventGetMetaKey              ,


-- ** getModifierState #method:getModifierState#
    DOMKeyboardEventGetModifierStateMethodInfo,
    dOMKeyboardEventGetModifierState        ,


-- ** getShiftKey #method:getShiftKey#
    DOMKeyboardEventGetShiftKeyMethodInfo   ,
    dOMKeyboardEventGetShiftKey             ,


-- ** initKeyboardEvent #method:initKeyboardEvent#
    DOMKeyboardEventInitKeyboardEventMethodInfo,
    dOMKeyboardEventInitKeyboardEvent       ,




 -- * Properties
-- ** altGraphKey #attr:altGraphKey#
    DOMKeyboardEventAltGraphKeyPropertyInfo ,
    dOMKeyboardEventAltGraphKey             ,
    getDOMKeyboardEventAltGraphKey          ,


-- ** altKey #attr:altKey#
    DOMKeyboardEventAltKeyPropertyInfo      ,
    dOMKeyboardEventAltKey                  ,
    getDOMKeyboardEventAltKey               ,


-- ** ctrlKey #attr:ctrlKey#
    DOMKeyboardEventCtrlKeyPropertyInfo     ,
    dOMKeyboardEventCtrlKey                 ,
    getDOMKeyboardEventCtrlKey              ,


-- ** keyIdentifier #attr:keyIdentifier#
    DOMKeyboardEventKeyIdentifierPropertyInfo,
    dOMKeyboardEventKeyIdentifier           ,
    getDOMKeyboardEventKeyIdentifier        ,


-- ** keyLocation #attr:keyLocation#
    DOMKeyboardEventKeyLocationPropertyInfo ,
    dOMKeyboardEventKeyLocation             ,
    getDOMKeyboardEventKeyLocation          ,


-- ** metaKey #attr:metaKey#
    DOMKeyboardEventMetaKeyPropertyInfo     ,
    dOMKeyboardEventMetaKey                 ,
    getDOMKeyboardEventMetaKey              ,


-- ** shiftKey #attr:shiftKey#
    DOMKeyboardEventShiftKeyPropertyInfo    ,
    dOMKeyboardEventShiftKey                ,
    getDOMKeyboardEventShiftKey             ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMWindow as WebKit2WebExtension.DOMDOMWindow
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMEvent as WebKit2WebExtension.DOMEvent
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMUIEvent as WebKit2WebExtension.DOMUIEvent

newtype DOMKeyboardEvent = DOMKeyboardEvent (ManagedPtr DOMKeyboardEvent)
foreign import ccall "webkit_dom_keyboard_event_get_type"
    c_webkit_dom_keyboard_event_get_type :: IO GType

instance GObject DOMKeyboardEvent where
    gobjectType _ = c_webkit_dom_keyboard_event_get_type
    

class GObject o => IsDOMKeyboardEvent o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMKeyboardEvent a) =>
    IsDOMKeyboardEvent a
#endif
instance IsDOMKeyboardEvent DOMKeyboardEvent
instance WebKit2WebExtension.DOMUIEvent.IsDOMUIEvent DOMKeyboardEvent
instance WebKit2WebExtension.DOMEvent.IsDOMEvent DOMKeyboardEvent
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMKeyboardEvent
instance GObject.Object.IsObject DOMKeyboardEvent

toDOMKeyboardEvent :: IsDOMKeyboardEvent o => o -> IO DOMKeyboardEvent
toDOMKeyboardEvent = unsafeCastTo DOMKeyboardEvent

noDOMKeyboardEvent :: Maybe DOMKeyboardEvent
noDOMKeyboardEvent = Nothing

type family ResolveDOMKeyboardEventMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMKeyboardEventMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMKeyboardEventMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMKeyboardEventMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMKeyboardEventMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMKeyboardEventMethod "initEvent" o = WebKit2WebExtension.DOMEvent.DOMEventInitEventMethodInfo
    ResolveDOMKeyboardEventMethod "initKeyboardEvent" o = DOMKeyboardEventInitKeyboardEventMethodInfo
    ResolveDOMKeyboardEventMethod "initUiEvent" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventInitUiEventMethodInfo
    ResolveDOMKeyboardEventMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMKeyboardEventMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMKeyboardEventMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMKeyboardEventMethod "preventDefault" o = WebKit2WebExtension.DOMEvent.DOMEventPreventDefaultMethodInfo
    ResolveDOMKeyboardEventMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMKeyboardEventMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMKeyboardEventMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMKeyboardEventMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMKeyboardEventMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMKeyboardEventMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMKeyboardEventMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMKeyboardEventMethod "stopPropagation" o = WebKit2WebExtension.DOMEvent.DOMEventStopPropagationMethodInfo
    ResolveDOMKeyboardEventMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMKeyboardEventMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMKeyboardEventMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMKeyboardEventMethod "getAltGraphKey" o = DOMKeyboardEventGetAltGraphKeyMethodInfo
    ResolveDOMKeyboardEventMethod "getAltKey" o = DOMKeyboardEventGetAltKeyMethodInfo
    ResolveDOMKeyboardEventMethod "getBubbles" o = WebKit2WebExtension.DOMEvent.DOMEventGetBubblesMethodInfo
    ResolveDOMKeyboardEventMethod "getCancelBubble" o = WebKit2WebExtension.DOMEvent.DOMEventGetCancelBubbleMethodInfo
    ResolveDOMKeyboardEventMethod "getCancelable" o = WebKit2WebExtension.DOMEvent.DOMEventGetCancelableMethodInfo
    ResolveDOMKeyboardEventMethod "getCharCode" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetCharCodeMethodInfo
    ResolveDOMKeyboardEventMethod "getCtrlKey" o = DOMKeyboardEventGetCtrlKeyMethodInfo
    ResolveDOMKeyboardEventMethod "getCurrentTarget" o = WebKit2WebExtension.DOMEvent.DOMEventGetCurrentTargetMethodInfo
    ResolveDOMKeyboardEventMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMKeyboardEventMethod "getDetail" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetDetailMethodInfo
    ResolveDOMKeyboardEventMethod "getEventPhase" o = WebKit2WebExtension.DOMEvent.DOMEventGetEventPhaseMethodInfo
    ResolveDOMKeyboardEventMethod "getEventType" o = WebKit2WebExtension.DOMEvent.DOMEventGetEventTypeMethodInfo
    ResolveDOMKeyboardEventMethod "getKeyCode" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetKeyCodeMethodInfo
    ResolveDOMKeyboardEventMethod "getKeyIdentifier" o = DOMKeyboardEventGetKeyIdentifierMethodInfo
    ResolveDOMKeyboardEventMethod "getKeyLocation" o = DOMKeyboardEventGetKeyLocationMethodInfo
    ResolveDOMKeyboardEventMethod "getLayerX" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetLayerXMethodInfo
    ResolveDOMKeyboardEventMethod "getLayerY" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetLayerYMethodInfo
    ResolveDOMKeyboardEventMethod "getMetaKey" o = DOMKeyboardEventGetMetaKeyMethodInfo
    ResolveDOMKeyboardEventMethod "getModifierState" o = DOMKeyboardEventGetModifierStateMethodInfo
    ResolveDOMKeyboardEventMethod "getPageX" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetPageXMethodInfo
    ResolveDOMKeyboardEventMethod "getPageY" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetPageYMethodInfo
    ResolveDOMKeyboardEventMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMKeyboardEventMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMKeyboardEventMethod "getReturnValue" o = WebKit2WebExtension.DOMEvent.DOMEventGetReturnValueMethodInfo
    ResolveDOMKeyboardEventMethod "getShiftKey" o = DOMKeyboardEventGetShiftKeyMethodInfo
    ResolveDOMKeyboardEventMethod "getSrcElement" o = WebKit2WebExtension.DOMEvent.DOMEventGetSrcElementMethodInfo
    ResolveDOMKeyboardEventMethod "getTarget" o = WebKit2WebExtension.DOMEvent.DOMEventGetTargetMethodInfo
    ResolveDOMKeyboardEventMethod "getTimeStamp" o = WebKit2WebExtension.DOMEvent.DOMEventGetTimeStampMethodInfo
    ResolveDOMKeyboardEventMethod "getView" o = WebKit2WebExtension.DOMUIEvent.DOMUIEventGetViewMethodInfo
    ResolveDOMKeyboardEventMethod "setCancelBubble" o = WebKit2WebExtension.DOMEvent.DOMEventSetCancelBubbleMethodInfo
    ResolveDOMKeyboardEventMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMKeyboardEventMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMKeyboardEventMethod "setReturnValue" o = WebKit2WebExtension.DOMEvent.DOMEventSetReturnValueMethodInfo
    ResolveDOMKeyboardEventMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMKeyboardEventMethod t DOMKeyboardEvent, O.MethodInfo info DOMKeyboardEvent p) => O.IsLabelProxy t (DOMKeyboardEvent -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMKeyboardEventMethod t DOMKeyboardEvent, O.MethodInfo info DOMKeyboardEvent p) => O.IsLabel t (DOMKeyboardEvent -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "alt-graph-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventAltGraphKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventAltGraphKey obj = liftIO $ getObjectPropertyBool obj "alt-graph-key"

data DOMKeyboardEventAltGraphKeyPropertyInfo
instance AttrInfo DOMKeyboardEventAltGraphKeyPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventAltGraphKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventAltGraphKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventAltGraphKeyPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventAltGraphKeyPropertyInfo = Bool
    type AttrLabel DOMKeyboardEventAltGraphKeyPropertyInfo = "alt-graph-key"
    type AttrOrigin DOMKeyboardEventAltGraphKeyPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventAltGraphKey
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "alt-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventAltKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventAltKey obj = liftIO $ getObjectPropertyBool obj "alt-key"

data DOMKeyboardEventAltKeyPropertyInfo
instance AttrInfo DOMKeyboardEventAltKeyPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventAltKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventAltKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventAltKeyPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventAltKeyPropertyInfo = Bool
    type AttrLabel DOMKeyboardEventAltKeyPropertyInfo = "alt-key"
    type AttrOrigin DOMKeyboardEventAltKeyPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventAltKey
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "ctrl-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventCtrlKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventCtrlKey obj = liftIO $ getObjectPropertyBool obj "ctrl-key"

data DOMKeyboardEventCtrlKeyPropertyInfo
instance AttrInfo DOMKeyboardEventCtrlKeyPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventCtrlKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventCtrlKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventCtrlKeyPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventCtrlKeyPropertyInfo = Bool
    type AttrLabel DOMKeyboardEventCtrlKeyPropertyInfo = "ctrl-key"
    type AttrOrigin DOMKeyboardEventCtrlKeyPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventCtrlKey
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "key-identifier"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMKeyboardEventKeyIdentifier :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m (Maybe T.Text)
getDOMKeyboardEventKeyIdentifier obj = liftIO $ getObjectPropertyString obj "key-identifier"

data DOMKeyboardEventKeyIdentifierPropertyInfo
instance AttrInfo DOMKeyboardEventKeyIdentifierPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventKeyIdentifierPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMKeyboardEventKeyIdentifierPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventKeyIdentifierPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventKeyIdentifierPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMKeyboardEventKeyIdentifierPropertyInfo = "key-identifier"
    type AttrOrigin DOMKeyboardEventKeyIdentifierPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventKeyIdentifier
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "key-location"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventKeyLocation :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m CULong
getDOMKeyboardEventKeyLocation obj = liftIO $ getObjectPropertyULong obj "key-location"

data DOMKeyboardEventKeyLocationPropertyInfo
instance AttrInfo DOMKeyboardEventKeyLocationPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventKeyLocationPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventKeyLocationPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventKeyLocationPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventKeyLocationPropertyInfo = CULong
    type AttrLabel DOMKeyboardEventKeyLocationPropertyInfo = "key-location"
    type AttrOrigin DOMKeyboardEventKeyLocationPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventKeyLocation
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "meta-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventMetaKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventMetaKey obj = liftIO $ getObjectPropertyBool obj "meta-key"

data DOMKeyboardEventMetaKeyPropertyInfo
instance AttrInfo DOMKeyboardEventMetaKeyPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventMetaKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventMetaKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventMetaKeyPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventMetaKeyPropertyInfo = Bool
    type AttrLabel DOMKeyboardEventMetaKeyPropertyInfo = "meta-key"
    type AttrOrigin DOMKeyboardEventMetaKeyPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventMetaKey
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "shift-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMKeyboardEventShiftKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventShiftKey obj = liftIO $ getObjectPropertyBool obj "shift-key"

data DOMKeyboardEventShiftKeyPropertyInfo
instance AttrInfo DOMKeyboardEventShiftKeyPropertyInfo where
    type AttrAllowedOps DOMKeyboardEventShiftKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMKeyboardEventShiftKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMKeyboardEventShiftKeyPropertyInfo = IsDOMKeyboardEvent
    type AttrGetType DOMKeyboardEventShiftKeyPropertyInfo = Bool
    type AttrLabel DOMKeyboardEventShiftKeyPropertyInfo = "shift-key"
    type AttrOrigin DOMKeyboardEventShiftKeyPropertyInfo = DOMKeyboardEvent
    attrGet _ = getDOMKeyboardEventShiftKey
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMKeyboardEvent
type instance O.AttributeList DOMKeyboardEvent = DOMKeyboardEventAttributeList
type DOMKeyboardEventAttributeList = ('[ '("altGraphKey", DOMKeyboardEventAltGraphKeyPropertyInfo), '("altKey", DOMKeyboardEventAltKeyPropertyInfo), '("bubbles", WebKit2WebExtension.DOMEvent.DOMEventBubblesPropertyInfo), '("cancelBubble", WebKit2WebExtension.DOMEvent.DOMEventCancelBubblePropertyInfo), '("cancelable", WebKit2WebExtension.DOMEvent.DOMEventCancelablePropertyInfo), '("charCode", WebKit2WebExtension.DOMUIEvent.DOMUIEventCharCodePropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("ctrlKey", DOMKeyboardEventCtrlKeyPropertyInfo), '("currentTarget", WebKit2WebExtension.DOMEvent.DOMEventCurrentTargetPropertyInfo), '("detail", WebKit2WebExtension.DOMUIEvent.DOMUIEventDetailPropertyInfo), '("eventPhase", WebKit2WebExtension.DOMEvent.DOMEventEventPhasePropertyInfo), '("keyCode", WebKit2WebExtension.DOMUIEvent.DOMUIEventKeyCodePropertyInfo), '("keyIdentifier", DOMKeyboardEventKeyIdentifierPropertyInfo), '("keyLocation", DOMKeyboardEventKeyLocationPropertyInfo), '("layerX", WebKit2WebExtension.DOMUIEvent.DOMUIEventLayerXPropertyInfo), '("layerY", WebKit2WebExtension.DOMUIEvent.DOMUIEventLayerYPropertyInfo), '("metaKey", DOMKeyboardEventMetaKeyPropertyInfo), '("pageX", WebKit2WebExtension.DOMUIEvent.DOMUIEventPageXPropertyInfo), '("pageY", WebKit2WebExtension.DOMUIEvent.DOMUIEventPageYPropertyInfo), '("returnValue", WebKit2WebExtension.DOMEvent.DOMEventReturnValuePropertyInfo), '("shiftKey", DOMKeyboardEventShiftKeyPropertyInfo), '("srcElement", WebKit2WebExtension.DOMEvent.DOMEventSrcElementPropertyInfo), '("target", WebKit2WebExtension.DOMEvent.DOMEventTargetPropertyInfo), '("timeStamp", WebKit2WebExtension.DOMEvent.DOMEventTimeStampPropertyInfo), '("type", WebKit2WebExtension.DOMEvent.DOMEventTypePropertyInfo), '("view", WebKit2WebExtension.DOMUIEvent.DOMUIEventViewPropertyInfo)] :: [(Symbol, *)])

dOMKeyboardEventAltGraphKey :: AttrLabelProxy "altGraphKey"
dOMKeyboardEventAltGraphKey = AttrLabelProxy

dOMKeyboardEventAltKey :: AttrLabelProxy "altKey"
dOMKeyboardEventAltKey = AttrLabelProxy

dOMKeyboardEventCtrlKey :: AttrLabelProxy "ctrlKey"
dOMKeyboardEventCtrlKey = AttrLabelProxy

dOMKeyboardEventKeyIdentifier :: AttrLabelProxy "keyIdentifier"
dOMKeyboardEventKeyIdentifier = AttrLabelProxy

dOMKeyboardEventKeyLocation :: AttrLabelProxy "keyLocation"
dOMKeyboardEventKeyLocation = AttrLabelProxy

dOMKeyboardEventMetaKey :: AttrLabelProxy "metaKey"
dOMKeyboardEventMetaKey = AttrLabelProxy

dOMKeyboardEventShiftKey :: AttrLabelProxy "shiftKey"
dOMKeyboardEventShiftKey = AttrLabelProxy

type instance O.SignalList DOMKeyboardEvent = DOMKeyboardEventSignalList
type DOMKeyboardEventSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMKeyboardEvent::get_alt_graph_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_alt_graph_key" webkit_dom_keyboard_event_get_alt_graph_key :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetAltGraphKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetAltGraphKey self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_alt_graph_key self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetAltGraphKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetAltGraphKeyMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetAltGraphKey

-- method DOMKeyboardEvent::get_alt_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_alt_key" webkit_dom_keyboard_event_get_alt_key :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetAltKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetAltKey self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_alt_key self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetAltKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetAltKeyMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetAltKey

-- method DOMKeyboardEvent::get_ctrl_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_ctrl_key" webkit_dom_keyboard_event_get_ctrl_key :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetCtrlKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetCtrlKey self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_ctrl_key self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetCtrlKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetCtrlKeyMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetCtrlKey

-- method DOMKeyboardEvent::get_key_identifier
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_key_identifier" webkit_dom_keyboard_event_get_key_identifier :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetKeyIdentifier ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMKeyboardEventGetKeyIdentifier self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_key_identifier self'
    checkUnexpectedReturnNULL "dOMKeyboardEventGetKeyIdentifier" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetKeyIdentifierMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetKeyIdentifierMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetKeyIdentifier

-- method DOMKeyboardEvent::get_key_location
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_key_location" webkit_dom_keyboard_event_get_key_location :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetKeyLocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMKeyboardEventGetKeyLocation self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_key_location self'
    touchManagedPtr self
    return result

data DOMKeyboardEventGetKeyLocationMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetKeyLocationMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetKeyLocation

-- method DOMKeyboardEvent::get_meta_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_meta_key" webkit_dom_keyboard_event_get_meta_key :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetMetaKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetMetaKey self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_meta_key self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetMetaKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetMetaKeyMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetMetaKey

-- method DOMKeyboardEvent::get_modifier_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyIdentifierArg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_modifier_state" webkit_dom_keyboard_event_get_modifier_state :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    CString ->                              -- keyIdentifierArg : TBasicType TUTF8
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetModifierState ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> T.Text
    {- ^ /@keyIdentifierArg@/: A @/gchar/@ -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetModifierState self keyIdentifierArg = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    keyIdentifierArg' <- textToCString keyIdentifierArg
    result <- webkit_dom_keyboard_event_get_modifier_state self' keyIdentifierArg'
    let result' = (/= 0) result
    touchManagedPtr self
    freeMem keyIdentifierArg'
    return result'

data DOMKeyboardEventGetModifierStateMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetModifierStateMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetModifierState

-- method DOMKeyboardEvent::get_shift_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_get_shift_key" webkit_dom_keyboard_event_get_shift_key :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventGetShiftKey ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMKeyboardEventGetShiftKey self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_keyboard_event_get_shift_key self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMKeyboardEventGetShiftKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMKeyboardEvent a) => O.MethodInfo DOMKeyboardEventGetShiftKeyMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventGetShiftKey

-- method DOMKeyboardEvent::init_keyboard_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMKeyboardEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "canBubble", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancelable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "view", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMDOMWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyIdentifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gulong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ctrlKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "altKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shiftKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metaKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "altGraphKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_keyboard_event_init_keyboard_event" webkit_dom_keyboard_event_init_keyboard_event :: 
    Ptr DOMKeyboardEvent ->                 -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMKeyboardEvent"})
    CString ->                              -- type : TBasicType TUTF8
    CInt ->                                 -- canBubble : TBasicType TBoolean
    CInt ->                                 -- cancelable : TBasicType TBoolean
    Ptr WebKit2WebExtension.DOMDOMWindow.DOMDOMWindow -> -- view : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMWindow"})
    CString ->                              -- keyIdentifier : TBasicType TUTF8
    CULong ->                               -- location : TBasicType TULong
    CInt ->                                 -- ctrlKey : TBasicType TBoolean
    CInt ->                                 -- altKey : TBasicType TBoolean
    CInt ->                                 -- shiftKey : TBasicType TBoolean
    CInt ->                                 -- metaKey : TBasicType TBoolean
    CInt ->                                 -- altGraphKey : TBasicType TBoolean
    IO ()

{- |
/No description available in the introspection data./
-}
dOMKeyboardEventInitKeyboardEvent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMKeyboardEvent a, WebKit2WebExtension.DOMDOMWindow.IsDOMDOMWindow b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMKeyboardEvent.DOMKeyboardEvent' -}
    -> T.Text
    {- ^ /@type@/: A @/gchar/@ -}
    -> Bool
    {- ^ /@canBubble@/: A 'Bool' -}
    -> Bool
    {- ^ /@cancelable@/: A 'Bool' -}
    -> b
    {- ^ /@view@/: A 'GI.WebKit2WebExtension.Objects.DOMDOMWindow.DOMDOMWindow' -}
    -> T.Text
    {- ^ /@keyIdentifier@/: A @/gchar/@ -}
    -> CULong
    {- ^ /@location@/: A @/gulong/@ -}
    -> Bool
    {- ^ /@ctrlKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@altKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@shiftKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@metaKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@altGraphKey@/: A 'Bool' -}
    -> m ()
dOMKeyboardEventInitKeyboardEvent self type_ canBubble cancelable view keyIdentifier location ctrlKey altKey shiftKey metaKey altGraphKey = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    type_' <- textToCString type_
    let canBubble' = (fromIntegral . fromEnum) canBubble
    let cancelable' = (fromIntegral . fromEnum) cancelable
    view' <- unsafeManagedPtrCastPtr view
    keyIdentifier' <- textToCString keyIdentifier
    let ctrlKey' = (fromIntegral . fromEnum) ctrlKey
    let altKey' = (fromIntegral . fromEnum) altKey
    let shiftKey' = (fromIntegral . fromEnum) shiftKey
    let metaKey' = (fromIntegral . fromEnum) metaKey
    let altGraphKey' = (fromIntegral . fromEnum) altGraphKey
    webkit_dom_keyboard_event_init_keyboard_event self' type_' canBubble' cancelable' view' keyIdentifier' location ctrlKey' altKey' shiftKey' metaKey' altGraphKey'
    touchManagedPtr self
    touchManagedPtr view
    freeMem type_'
    freeMem keyIdentifier'
    return ()

data DOMKeyboardEventInitKeyboardEventMethodInfo
instance (signature ~ (T.Text -> Bool -> Bool -> b -> T.Text -> CULong -> Bool -> Bool -> Bool -> Bool -> Bool -> m ()), MonadIO m, IsDOMKeyboardEvent a, WebKit2WebExtension.DOMDOMWindow.IsDOMDOMWindow b) => O.MethodInfo DOMKeyboardEventInitKeyboardEventMethodInfo a signature where
    overloadedMethod _ = dOMKeyboardEventInitKeyboardEvent