module Data.DOM.KeyboardEvent
       (getModifierState, initKeyboardEvent, cDOM_KEY_LOCATION_STANDARD,
        cDOM_KEY_LOCATION_LEFT, cDOM_KEY_LOCATION_RIGHT,
        cDOM_KEY_LOCATION_NUMPAD, get'keyIdentifier, getm'keyIdentifier,
        get'keyLocation, getm'keyLocation, get'ctrlKey, getm'ctrlKey,
        get'shiftKey, getm'shiftKey, get'altKey, getm'altKey, get'metaKey,
        getm'metaKey)
       where
import Data.DOM.Events
import Control.Monad
import WebBits.JavaScript
import Data.DOM.WBTypes
import Data.DOM.Views
import Data.DOM.Dom
import Data.DOM.Document (createElement)
 
getModifierState ::
                 (Monad mn, CKeyboardEvent this) =>
                   Expression String -> Expression this -> mn (Expression Bool)
getModifierState a thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "getModifierState")
       return (CallExpr et r [a /\ et])
 
initKeyboardEvent ::
                  (Monad mn, CKeyboardEvent this, CAbstractView viewArg) =>
                    Expression String ->
                      Expression Bool ->
                        Expression Bool ->
                          Expression viewArg ->
                            Expression String ->
                              Expression Double ->
                                Expression String -> Expression this -> mn (Expression ())
initKeyboardEvent a b c d e f g thisp
  = do let et = undefined :: ()
       let r = DotRef et (thisp /\ et) (Id et "initKeyboardEvent")
       return
         (CallExpr et r
            [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et])
cDOM_KEY_LOCATION_STANDARD = 0
cDOM_KEY_LOCATION_LEFT = 1
cDOM_KEY_LOCATION_RIGHT = 2
cDOM_KEY_LOCATION_NUMPAD = 3
 
get'keyIdentifier ::
                  (Monad mn, CKeyboardEvent this) =>
                    Expression this -> mn (Expression String)
get'keyIdentifier thisp
  = do let et = undefined :: String
       let r = DotRef et (thisp /\ et) (Id et "keyIdentifier")
       return r
 
getm'keyIdentifier ::
                   (Monad mn, CKeyboardEvent this) =>
                     Expression this -> mn (Expression String)
getm'keyIdentifier = get'keyIdentifier
 
get'keyLocation ::
                (Monad mn, CKeyboardEvent this) =>
                  Expression this -> mn (Expression Double)
get'keyLocation thisp
  = do let et = undefined :: Double
       let r = DotRef et (thisp /\ et) (Id et "keyLocation")
       return r
 
getm'keyLocation ::
                 (Monad mn, CKeyboardEvent this) =>
                   Expression this -> mn (Expression Double)
getm'keyLocation = get'keyLocation
 
get'ctrlKey ::
            (Monad mn, CKeyboardEvent this) =>
              Expression this -> mn (Expression Bool)
get'ctrlKey thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "ctrlKey")
       return r
 
getm'ctrlKey ::
             (Monad mn, CKeyboardEvent this) =>
               Expression this -> mn (Expression Bool)
getm'ctrlKey = get'ctrlKey
 
get'shiftKey ::
             (Monad mn, CKeyboardEvent this) =>
               Expression this -> mn (Expression Bool)
get'shiftKey thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "shiftKey")
       return r
 
getm'shiftKey ::
              (Monad mn, CKeyboardEvent this) =>
                Expression this -> mn (Expression Bool)
getm'shiftKey = get'shiftKey
 
get'altKey ::
           (Monad mn, CKeyboardEvent this) =>
             Expression this -> mn (Expression Bool)
get'altKey thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "altKey")
       return r
 
getm'altKey ::
            (Monad mn, CKeyboardEvent this) =>
              Expression this -> mn (Expression Bool)
getm'altKey = get'altKey
 
get'metaKey ::
            (Monad mn, CKeyboardEvent this) =>
              Expression this -> mn (Expression Bool)
get'metaKey thisp
  = do let et = undefined :: Bool
       let r = DotRef et (thisp /\ et) (Id et "metaKey")
       return r
 
getm'metaKey ::
             (Monad mn, CKeyboardEvent this) =>
               Expression this -> mn (Expression Bool)
getm'metaKey = get'metaKey