{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.WebKit2WebExtension.Objects.DOMKeyboardEvent
    (

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


 -- * Methods
-- ** getAltGraphKey #method:getAltGraphKey#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetAltGraphKeyMethodInfo,
#endif
    dOMKeyboardEventGetAltGraphKey          ,


-- ** getAltKey #method:getAltKey#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetAltKeyMethodInfo     ,
#endif
    dOMKeyboardEventGetAltKey               ,


-- ** getCtrlKey #method:getCtrlKey#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetCtrlKeyMethodInfo    ,
#endif
    dOMKeyboardEventGetCtrlKey              ,


-- ** getKeyIdentifier #method:getKeyIdentifier#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetKeyIdentifierMethodInfo,
#endif
    dOMKeyboardEventGetKeyIdentifier        ,


-- ** getKeyLocation #method:getKeyLocation#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetKeyLocationMethodInfo,
#endif
    dOMKeyboardEventGetKeyLocation          ,


-- ** getMetaKey #method:getMetaKey#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetMetaKeyMethodInfo    ,
#endif
    dOMKeyboardEventGetMetaKey              ,


-- ** getModifierState #method:getModifierState#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetModifierStateMethodInfo,
#endif
    dOMKeyboardEventGetModifierState        ,


-- ** getShiftKey #method:getShiftKey#

#if ENABLE_OVERLOADING
    DOMKeyboardEventGetShiftKeyMethodInfo   ,
#endif
    dOMKeyboardEventGetShiftKey             ,


-- ** initKeyboardEvent #method:initKeyboardEvent#

#if ENABLE_OVERLOADING
    DOMKeyboardEventInitKeyboardEventMethodInfo,
#endif
    dOMKeyboardEventInitKeyboardEvent       ,




 -- * Properties
-- ** altGraphKey #attr:altGraphKey#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventAltGraphKeyPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventAltGraphKey             ,
#endif
    getDOMKeyboardEventAltGraphKey          ,


-- ** altKey #attr:altKey#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventAltKeyPropertyInfo      ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventAltKey                  ,
#endif
    getDOMKeyboardEventAltKey               ,


-- ** ctrlKey #attr:ctrlKey#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventCtrlKeyPropertyInfo     ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventCtrlKey                 ,
#endif
    getDOMKeyboardEventCtrlKey              ,


-- ** keyIdentifier #attr:keyIdentifier#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventKeyIdentifierPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventKeyIdentifier           ,
#endif
    getDOMKeyboardEventKeyIdentifier        ,


-- ** keyLocation #attr:keyLocation#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventKeyLocationPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventKeyLocation             ,
#endif
    getDOMKeyboardEventKeyLocation          ,


-- ** metaKey #attr:metaKey#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventMetaKeyPropertyInfo     ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventMetaKey                 ,
#endif
    getDOMKeyboardEventMetaKey              ,


-- ** shiftKey #attr:shiftKey#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMKeyboardEventShiftKeyPropertyInfo    ,
#endif
#if ENABLE_OVERLOADING
    dOMKeyboardEventShiftKey                ,
#endif
    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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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 GHC.OverloadedLabels as OL

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

-- | Memory-managed wrapper type.
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


-- | Type class for types which can be safely cast to `DOMKeyboardEvent`, for instance with `toDOMKeyboardEvent`.
class (GObject o, O.IsDescendantOf DOMKeyboardEvent o) => IsDOMKeyboardEvent o
instance (GObject o, O.IsDescendantOf DOMKeyboardEvent o) => IsDOMKeyboardEvent o

instance O.HasParentTypes DOMKeyboardEvent
type instance O.ParentTypes DOMKeyboardEvent = '[WebKit2WebExtension.DOMUIEvent.DOMUIEvent, WebKit2WebExtension.DOMEvent.DOMEvent, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]

-- | Cast to `DOMKeyboardEvent`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMKeyboardEvent :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m DOMKeyboardEvent
toDOMKeyboardEvent = liftIO . unsafeCastTo DOMKeyboardEvent

-- | A convenience alias for `Nothing` :: `Maybe` `DOMKeyboardEvent`.
noDOMKeyboardEvent :: Maybe DOMKeyboardEvent
noDOMKeyboardEvent = Nothing

#if ENABLE_OVERLOADING
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 "getv" o = GObject.Object.ObjectGetvMethodInfo
    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 "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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    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) => OL.IsLabel t (DOMKeyboardEvent -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif

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

{- |
Get the value of the “@alt-graph-key@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #altGraphKey
@
-}
getDOMKeyboardEventAltGraphKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventAltGraphKey obj = liftIO $ B.Properties.getObjectPropertyBool obj "alt-graph-key"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@alt-key@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #altKey
@
-}
getDOMKeyboardEventAltKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventAltKey obj = liftIO $ B.Properties.getObjectPropertyBool obj "alt-key"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@ctrl-key@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #ctrlKey
@
-}
getDOMKeyboardEventCtrlKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventCtrlKey obj = liftIO $ B.Properties.getObjectPropertyBool obj "ctrl-key"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@key-identifier@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #keyIdentifier
@
-}
getDOMKeyboardEventKeyIdentifier :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m (Maybe T.Text)
getDOMKeyboardEventKeyIdentifier obj = liftIO $ B.Properties.getObjectPropertyString obj "key-identifier"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@key-location@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #keyLocation
@
-}
getDOMKeyboardEventKeyLocation :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m CULong
getDOMKeyboardEventKeyLocation obj = liftIO $ B.Properties.getObjectPropertyULong obj "key-location"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@meta-key@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #metaKey
@
-}
getDOMKeyboardEventMetaKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventMetaKey obj = liftIO $ B.Properties.getObjectPropertyBool obj "meta-key"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@shift-key@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMKeyboardEvent #shiftKey
@
-}
getDOMKeyboardEventShiftKey :: (MonadIO m, IsDOMKeyboardEvent o) => o -> m Bool
getDOMKeyboardEventShiftKey obj = liftIO $ B.Properties.getObjectPropertyBool obj "shift-key"

#if ENABLE_OVERLOADING
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
#endif

#if ENABLE_OVERLOADING
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, *)])
#endif

#if ENABLE_OVERLOADING
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

#endif

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetAltGraphKey ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetAltKey ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetCtrlKey ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetKeyIdentifier ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetKeyLocation ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetMetaKey ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetModifierState ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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

{-# DEPRECATED dOMKeyboardEventGetShiftKey ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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'

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

#endif

-- 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 ()

{-# DEPRECATED dOMKeyboardEventInitKeyboardEvent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

#if ENABLE_OVERLOADING
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

#endif