{-|
Module      : Monomer.Event.Keyboard
Copyright   : (c) 2018 Francisco Vallarino
License     : BSD-3-Clause (see the LICENSE file)
Maintainer  : fjvallarino@gmail.com
Stability   : experimental
Portability : non-portable

Keycodes for all keyboard keys.
-}
module Monomer.Event.Keyboard where

import qualified SDL

import Monomer.Event.Types

getKeyCode :: SDL.Keycode -> KeyCode
getKeyCode :: Keycode -> KeyCode
getKeyCode Keycode
keyCode = Int -> KeyCode
KeyCode forall a b. (a -> b) -> a -> b
$ forall a b. (Integral a, Num b) => a -> b
fromIntegral (Keycode -> Int32
SDL.unwrapKeycode Keycode
keyCode)

-- Mod Keys
keyLAlt :: KeyCode
keyLAlt :: KeyCode
keyLAlt = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLAlt

keyRAlt :: KeyCode
keyRAlt :: KeyCode
keyRAlt = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLAlt

keyLCtrl :: KeyCode
keyLCtrl :: KeyCode
keyLCtrl = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLCtrl

keyRCtrl :: KeyCode
keyRCtrl :: KeyCode
keyRCtrl = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLCtrl

keyLGUI :: KeyCode
keyLGUI :: KeyCode
keyLGUI = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLGUI

keyRGUI :: KeyCode
keyRGUI :: KeyCode
keyRGUI = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLGUI

keyLShift :: KeyCode
keyLShift :: KeyCode
keyLShift = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLShift

keyRShift :: KeyCode
keyRShift :: KeyCode
keyRShift = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLShift

-- General keys
keyUnknown :: KeyCode
keyUnknown :: KeyCode
keyUnknown = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeUnknown

keyEnter :: KeyCode
keyEnter :: KeyCode
keyEnter = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeReturn

keyReturn :: KeyCode
keyReturn :: KeyCode
keyReturn = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeReturn

keyEscape :: KeyCode
keyEscape :: KeyCode
keyEscape = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeEscape

keyBackspace :: KeyCode
keyBackspace :: KeyCode
keyBackspace = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeBackspace

keyTab :: KeyCode
keyTab :: KeyCode
keyTab = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeTab

keySpace :: KeyCode
keySpace :: KeyCode
keySpace = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeSpace

keyExclaim :: KeyCode
keyExclaim :: KeyCode
keyExclaim = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeExclaim

keyQuoteDbl :: KeyCode
keyQuoteDbl :: KeyCode
keyQuoteDbl = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeQuoteDbl

keyHash :: KeyCode
keyHash :: KeyCode
keyHash = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeHash

keyPercent :: KeyCode
keyPercent :: KeyCode
keyPercent = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePercent

keyDollar :: KeyCode
keyDollar :: KeyCode
keyDollar = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeDollar

keyAmpersand :: KeyCode
keyAmpersand :: KeyCode
keyAmpersand = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeAmpersand

keyQuote :: KeyCode
keyQuote :: KeyCode
keyQuote = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeQuote

keyLeftParen :: KeyCode
keyLeftParen :: KeyCode
keyLeftParen = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLeftParen

keyRightParen :: KeyCode
keyRightParen :: KeyCode
keyRightParen = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeRightParen

keyAsterisk :: KeyCode
keyAsterisk :: KeyCode
keyAsterisk = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeAsterisk

keyPlus :: KeyCode
keyPlus :: KeyCode
keyPlus = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePlus

keyComma :: KeyCode
keyComma :: KeyCode
keyComma = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeComma

keyMinus :: KeyCode
keyMinus :: KeyCode
keyMinus = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeMinus

keyPeriod :: KeyCode
keyPeriod :: KeyCode
keyPeriod = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePeriod

keySlash :: KeyCode
keySlash :: KeyCode
keySlash = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeSlash

keyColon :: KeyCode
keyColon :: KeyCode
keyColon = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeColon

keySemicolon :: KeyCode
keySemicolon :: KeyCode
keySemicolon = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeSemicolon

keyLess :: KeyCode
keyLess :: KeyCode
keyLess = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLess

keyEquals :: KeyCode
keyEquals :: KeyCode
keyEquals = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeEquals

keyGreater :: KeyCode
keyGreater :: KeyCode
keyGreater = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeGreater

keyQuestion :: KeyCode
keyQuestion :: KeyCode
keyQuestion = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeQuestion

keyAt :: KeyCode
keyAt :: KeyCode
keyAt = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeAt

keyLeftBracket :: KeyCode
keyLeftBracket :: KeyCode
keyLeftBracket = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLeftBracket

keyBackslash :: KeyCode
keyBackslash :: KeyCode
keyBackslash = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeBackslash

keyRightBracket :: KeyCode
keyRightBracket :: KeyCode
keyRightBracket = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeRightBracket

keyCaret :: KeyCode
keyCaret :: KeyCode
keyCaret = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeCaret

keyUnderscore :: KeyCode
keyUnderscore :: KeyCode
keyUnderscore = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeUnderscore

keyBackquote :: KeyCode
keyBackquote :: KeyCode
keyBackquote = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeBackquote

keyCapsLock :: KeyCode
keyCapsLock :: KeyCode
keyCapsLock = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeCapsLock

keyPrintScreen :: KeyCode
keyPrintScreen :: KeyCode
keyPrintScreen = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePrintScreen

keyScrollLock :: KeyCode
keyScrollLock :: KeyCode
keyScrollLock = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeScrollLock

keyPause :: KeyCode
keyPause :: KeyCode
keyPause = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePause

keyInsert :: KeyCode
keyInsert :: KeyCode
keyInsert = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeInsert

keyHome :: KeyCode
keyHome :: KeyCode
keyHome = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeHome

keyPageUp :: KeyCode
keyPageUp :: KeyCode
keyPageUp = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePageUp

keyDelete :: KeyCode
keyDelete :: KeyCode
keyDelete = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeDelete

keyEnd :: KeyCode
keyEnd :: KeyCode
keyEnd = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeEnd

keyPageDown :: KeyCode
keyPageDown :: KeyCode
keyPageDown = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodePageDown

keyRight :: KeyCode
keyRight :: KeyCode
keyRight = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeRight

keyLeft :: KeyCode
keyLeft :: KeyCode
keyLeft = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeLeft

keyDown :: KeyCode
keyDown :: KeyCode
keyDown = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeDown

keyUp :: KeyCode
keyUp :: KeyCode
keyUp = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeUp

keyNumLockClear :: KeyCode
keyNumLockClear :: KeyCode
keyNumLockClear = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeNumLockClear

-- Numbers
key0 :: KeyCode
key0 :: KeyCode
key0 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode0

key1 :: KeyCode
key1 :: KeyCode
key1 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode1

key2 :: KeyCode
key2 :: KeyCode
key2 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode2

key3 :: KeyCode
key3 :: KeyCode
key3 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode3

key4 :: KeyCode
key4 :: KeyCode
key4 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode4

key5 :: KeyCode
key5 :: KeyCode
key5 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode5

key6 :: KeyCode
key6 :: KeyCode
key6 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode6

key7 :: KeyCode
key7 :: KeyCode
key7 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode7

key8 :: KeyCode
key8 :: KeyCode
key8 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode8

key9 :: KeyCode
key9 :: KeyCode
key9 = Keycode -> KeyCode
getKeyCode Keycode
SDL.Keycode9

-- Function keys
keyF1 :: KeyCode
keyF1 :: KeyCode
keyF1 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF1

keyF2 :: KeyCode
keyF2 :: KeyCode
keyF2 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF2

keyF3 :: KeyCode
keyF3 :: KeyCode
keyF3 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF3

keyF4 :: KeyCode
keyF4 :: KeyCode
keyF4 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF4

keyF5 :: KeyCode
keyF5 :: KeyCode
keyF5 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF5

keyF6 :: KeyCode
keyF6 :: KeyCode
keyF6 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF6

keyF7 :: KeyCode
keyF7 :: KeyCode
keyF7 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF7

keyF8 :: KeyCode
keyF8 :: KeyCode
keyF8 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF8

keyF9 :: KeyCode
keyF9 :: KeyCode
keyF9 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF9

keyF10 :: KeyCode
keyF10 :: KeyCode
keyF10 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF10

keyF11 :: KeyCode
keyF11 :: KeyCode
keyF11 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF11

keyF12 :: KeyCode
keyF12 :: KeyCode
keyF12 =  Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF12

-- Letters
keyA :: KeyCode
keyA :: KeyCode
keyA = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeA

keyB :: KeyCode
keyB :: KeyCode
keyB = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeB

keyC :: KeyCode
keyC :: KeyCode
keyC = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeC

keyD :: KeyCode
keyD :: KeyCode
keyD = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeD

keyE :: KeyCode
keyE :: KeyCode
keyE = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeE

keyF :: KeyCode
keyF :: KeyCode
keyF = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeF

keyG :: KeyCode
keyG :: KeyCode
keyG = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeG

keyH :: KeyCode
keyH :: KeyCode
keyH = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeH

keyI :: KeyCode
keyI :: KeyCode
keyI = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeI

keyJ :: KeyCode
keyJ :: KeyCode
keyJ = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeJ

keyK :: KeyCode
keyK :: KeyCode
keyK = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeK

keyL :: KeyCode
keyL :: KeyCode
keyL = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeL

keyM :: KeyCode
keyM :: KeyCode
keyM = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeM

keyN :: KeyCode
keyN :: KeyCode
keyN = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeN

keyO :: KeyCode
keyO :: KeyCode
keyO = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeO

keyP :: KeyCode
keyP :: KeyCode
keyP = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeP

keyQ :: KeyCode
keyQ :: KeyCode
keyQ = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeQ

keyR :: KeyCode
keyR :: KeyCode
keyR = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeR

keyS :: KeyCode
keyS :: KeyCode
keyS = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeS

keyT :: KeyCode
keyT :: KeyCode
keyT = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeT

keyU :: KeyCode
keyU :: KeyCode
keyU = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeU

keyV :: KeyCode
keyV :: KeyCode
keyV = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeV

keyW :: KeyCode
keyW :: KeyCode
keyW = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeW

keyX :: KeyCode
keyX :: KeyCode
keyX = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeX

keyY :: KeyCode
keyY :: KeyCode
keyY = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeY

keyZ :: KeyCode
keyZ :: KeyCode
keyZ = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeZ

-- Key pad
keyPadDivide :: KeyCode
keyPadDivide :: KeyCode
keyPadDivide = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPDivide

keyPadMultiply :: KeyCode
keyPadMultiply :: KeyCode
keyPadMultiply = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPMultiply

keyPadMinus :: KeyCode
keyPadMinus :: KeyCode
keyPadMinus = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPMinus

keyPadPlus :: KeyCode
keyPadPlus :: KeyCode
keyPadPlus = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPPlus

keyPadEnter :: KeyCode
keyPadEnter :: KeyCode
keyPadEnter = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPEnter

keyPadPeriod :: KeyCode
keyPadPeriod :: KeyCode
keyPadPeriod = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKPPeriod

-- Key pad numbers
keyPad0 :: KeyCode
keyPad0 :: KeyCode
keyPad0 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP0

keyPad1 :: KeyCode
keyPad1 :: KeyCode
keyPad1 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP1

keyPad2 :: KeyCode
keyPad2 :: KeyCode
keyPad2 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP2

keyPad3 :: KeyCode
keyPad3 :: KeyCode
keyPad3 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP3

keyPad4 :: KeyCode
keyPad4 :: KeyCode
keyPad4 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP4

keyPad5 :: KeyCode
keyPad5 :: KeyCode
keyPad5 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP5

keyPad6 :: KeyCode
keyPad6 :: KeyCode
keyPad6 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP6

keyPad7 :: KeyCode
keyPad7 :: KeyCode
keyPad7 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP7

keyPad8 :: KeyCode
keyPad8 :: KeyCode
keyPad8 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP8

keyPad9 :: KeyCode
keyPad9 :: KeyCode
keyPad9 = Keycode -> KeyCode
getKeyCode Keycode
SDL.KeycodeKP9

--

-- Mod keys
isKeyLAlt :: KeyCode -> Bool
isKeyLAlt :: KeyCode -> Bool
isKeyLAlt = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLAlt)

isKeyRAlt :: KeyCode -> Bool
isKeyRAlt :: KeyCode -> Bool
isKeyRAlt = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRAlt)

isKeyLCtrl :: KeyCode -> Bool
isKeyLCtrl :: KeyCode -> Bool
isKeyLCtrl = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLCtrl)

isKeyRCtrl :: KeyCode -> Bool
isKeyRCtrl :: KeyCode -> Bool
isKeyRCtrl = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRCtrl)

isKeyLGUI :: KeyCode -> Bool
isKeyLGUI :: KeyCode -> Bool
isKeyLGUI = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLGUI)

isKeyRGUI :: KeyCode -> Bool
isKeyRGUI :: KeyCode -> Bool
isKeyRGUI = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRGUI)

isKeyLShift :: KeyCode -> Bool
isKeyLShift :: KeyCode -> Bool
isKeyLShift = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLShift)

isKeyRShift :: KeyCode -> Bool
isKeyRShift :: KeyCode -> Bool
isKeyRShift = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRShift)

-- General keys
isKeyUnknown :: KeyCode -> Bool
isKeyUnknown :: KeyCode -> Bool
isKeyUnknown = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyUnknown)

isKeyReturn :: KeyCode -> Bool
isKeyReturn :: KeyCode -> Bool
isKeyReturn = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyReturn)

isKeyEscape :: KeyCode -> Bool
isKeyEscape :: KeyCode -> Bool
isKeyEscape = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyEscape)

isKeyBackspace :: KeyCode -> Bool
isKeyBackspace :: KeyCode -> Bool
isKeyBackspace = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyBackspace)

isKeyTab :: KeyCode -> Bool
isKeyTab :: KeyCode -> Bool
isKeyTab = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyTab)

isKeySpace :: KeyCode -> Bool
isKeySpace :: KeyCode -> Bool
isKeySpace = (forall a. Eq a => a -> a -> Bool
== KeyCode
keySpace)

isKeyExclaim :: KeyCode -> Bool
isKeyExclaim :: KeyCode -> Bool
isKeyExclaim = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyExclaim)

isKeyQuoteDbl :: KeyCode -> Bool
isKeyQuoteDbl :: KeyCode -> Bool
isKeyQuoteDbl = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyQuoteDbl)

isKeyHash :: KeyCode -> Bool
isKeyHash :: KeyCode -> Bool
isKeyHash = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyHash)

isKeyPercent :: KeyCode -> Bool
isKeyPercent :: KeyCode -> Bool
isKeyPercent = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPercent)

isKeyDollar :: KeyCode -> Bool
isKeyDollar :: KeyCode -> Bool
isKeyDollar = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyDollar)

isKeyAmpersand :: KeyCode -> Bool
isKeyAmpersand :: KeyCode -> Bool
isKeyAmpersand = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyAmpersand)

isKeyQuote :: KeyCode -> Bool
isKeyQuote :: KeyCode -> Bool
isKeyQuote = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyQuote)

isKeyLeftParen :: KeyCode -> Bool
isKeyLeftParen :: KeyCode -> Bool
isKeyLeftParen = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLeftParen)

isKeyRightParen :: KeyCode -> Bool
isKeyRightParen :: KeyCode -> Bool
isKeyRightParen = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRightParen)

isKeyAsterisk :: KeyCode -> Bool
isKeyAsterisk :: KeyCode -> Bool
isKeyAsterisk = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyAsterisk)

isKeyPlus :: KeyCode -> Bool
isKeyPlus :: KeyCode -> Bool
isKeyPlus = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPlus)

isKeyComma :: KeyCode -> Bool
isKeyComma :: KeyCode -> Bool
isKeyComma = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyComma)

isKeyMinus :: KeyCode -> Bool
isKeyMinus :: KeyCode -> Bool
isKeyMinus = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyMinus)

isKeyPeriod :: KeyCode -> Bool
isKeyPeriod :: KeyCode -> Bool
isKeyPeriod = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPeriod)

isKeySlash :: KeyCode -> Bool
isKeySlash :: KeyCode -> Bool
isKeySlash = (forall a. Eq a => a -> a -> Bool
== KeyCode
keySlash)

isKeyColon :: KeyCode -> Bool
isKeyColon :: KeyCode -> Bool
isKeyColon = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyColon)

isKeySemicolon :: KeyCode -> Bool
isKeySemicolon :: KeyCode -> Bool
isKeySemicolon = (forall a. Eq a => a -> a -> Bool
== KeyCode
keySemicolon)

isKeyLess :: KeyCode -> Bool
isKeyLess :: KeyCode -> Bool
isKeyLess = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLess)

isKeyEquals :: KeyCode -> Bool
isKeyEquals :: KeyCode -> Bool
isKeyEquals = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyEquals)

isKeyGreater :: KeyCode -> Bool
isKeyGreater :: KeyCode -> Bool
isKeyGreater = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyGreater)

isKeyQuestion :: KeyCode -> Bool
isKeyQuestion :: KeyCode -> Bool
isKeyQuestion = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyQuestion)

isKeyAt :: KeyCode -> Bool
isKeyAt :: KeyCode -> Bool
isKeyAt = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyAt)

isKeyLeftBracket :: KeyCode -> Bool
isKeyLeftBracket :: KeyCode -> Bool
isKeyLeftBracket = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLeftBracket)

isKeyBackslash :: KeyCode -> Bool
isKeyBackslash :: KeyCode -> Bool
isKeyBackslash = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyBackslash)

isKeyRightBracket :: KeyCode -> Bool
isKeyRightBracket :: KeyCode -> Bool
isKeyRightBracket = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRightBracket)

isKeyCaret :: KeyCode -> Bool
isKeyCaret :: KeyCode -> Bool
isKeyCaret = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyCaret)

isKeyUnderscore :: KeyCode -> Bool
isKeyUnderscore :: KeyCode -> Bool
isKeyUnderscore = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyUnderscore)

isKeyBackquote :: KeyCode -> Bool
isKeyBackquote :: KeyCode -> Bool
isKeyBackquote = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyBackquote)

isKeyCapsLock :: KeyCode -> Bool
isKeyCapsLock :: KeyCode -> Bool
isKeyCapsLock = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyCapsLock)

isKeyPrintScreen :: KeyCode -> Bool
isKeyPrintScreen :: KeyCode -> Bool
isKeyPrintScreen = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPrintScreen)

isKeyScrollLock :: KeyCode -> Bool
isKeyScrollLock :: KeyCode -> Bool
isKeyScrollLock = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyScrollLock)

isKeyPause :: KeyCode -> Bool
isKeyPause :: KeyCode -> Bool
isKeyPause = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPause)

isKeyInsert :: KeyCode -> Bool
isKeyInsert :: KeyCode -> Bool
isKeyInsert = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyInsert)

isKeyHome :: KeyCode -> Bool
isKeyHome :: KeyCode -> Bool
isKeyHome = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyHome)

isKeyPageUp :: KeyCode -> Bool
isKeyPageUp :: KeyCode -> Bool
isKeyPageUp = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPageUp)

isKeyDelete :: KeyCode -> Bool
isKeyDelete :: KeyCode -> Bool
isKeyDelete = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyDelete)

isKeyEnd :: KeyCode -> Bool
isKeyEnd :: KeyCode -> Bool
isKeyEnd = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyEnd)

isKeyPageDown :: KeyCode -> Bool
isKeyPageDown :: KeyCode -> Bool
isKeyPageDown = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPageDown)

isKeyRight :: KeyCode -> Bool
isKeyRight :: KeyCode -> Bool
isKeyRight = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyRight)

isKeyLeft :: KeyCode -> Bool
isKeyLeft :: KeyCode -> Bool
isKeyLeft = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyLeft)

isKeyDown :: KeyCode -> Bool
isKeyDown :: KeyCode -> Bool
isKeyDown = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyDown)

isKeyUp :: KeyCode -> Bool
isKeyUp :: KeyCode -> Bool
isKeyUp = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyUp)

isKeyNumLockClear :: KeyCode -> Bool
isKeyNumLockClear :: KeyCode -> Bool
isKeyNumLockClear = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyNumLockClear)

-- Numbers
isKey0 :: KeyCode -> Bool
isKey0 :: KeyCode -> Bool
isKey0 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key0)

isKey1 :: KeyCode -> Bool
isKey1 :: KeyCode -> Bool
isKey1 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key1)

isKey2 :: KeyCode -> Bool
isKey2 :: KeyCode -> Bool
isKey2 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key2)

isKey3 :: KeyCode -> Bool
isKey3 :: KeyCode -> Bool
isKey3 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key3)

isKey4 :: KeyCode -> Bool
isKey4 :: KeyCode -> Bool
isKey4 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key4)

isKey5 :: KeyCode -> Bool
isKey5 :: KeyCode -> Bool
isKey5 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key5)

isKey6 :: KeyCode -> Bool
isKey6 :: KeyCode -> Bool
isKey6 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key6)

isKey7 :: KeyCode -> Bool
isKey7 :: KeyCode -> Bool
isKey7 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key7)

isKey8 :: KeyCode -> Bool
isKey8 :: KeyCode -> Bool
isKey8 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key8)

isKey9 :: KeyCode -> Bool
isKey9 :: KeyCode -> Bool
isKey9 = (forall a. Eq a => a -> a -> Bool
== KeyCode
key9)

isKeyF1 :: KeyCode -> Bool
isKeyF1 :: KeyCode -> Bool
isKeyF1 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF1)

isKeyF2 :: KeyCode -> Bool
isKeyF2 :: KeyCode -> Bool
isKeyF2 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF2)

isKeyF3 :: KeyCode -> Bool
isKeyF3 :: KeyCode -> Bool
isKeyF3 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF3)

isKeyF4 :: KeyCode -> Bool
isKeyF4 :: KeyCode -> Bool
isKeyF4 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF4)

isKeyF5 :: KeyCode -> Bool
isKeyF5 :: KeyCode -> Bool
isKeyF5 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF5)

isKeyF6 :: KeyCode -> Bool
isKeyF6 :: KeyCode -> Bool
isKeyF6 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF6)

isKeyF7 :: KeyCode -> Bool
isKeyF7 :: KeyCode -> Bool
isKeyF7 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF7)

isKeyF8 :: KeyCode -> Bool
isKeyF8 :: KeyCode -> Bool
isKeyF8 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF8)

isKeyF9 :: KeyCode -> Bool
isKeyF9 :: KeyCode -> Bool
isKeyF9 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF9)

isKeyF10 :: KeyCode -> Bool
isKeyF10 :: KeyCode -> Bool
isKeyF10 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF10)

isKeyF11 :: KeyCode -> Bool
isKeyF11 :: KeyCode -> Bool
isKeyF11 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF11)

isKeyF12 :: KeyCode -> Bool
isKeyF12 :: KeyCode -> Bool
isKeyF12 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF12)

-- Letters
isKeyA :: KeyCode -> Bool
isKeyA :: KeyCode -> Bool
isKeyA = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyA)

isKeyB :: KeyCode -> Bool
isKeyB :: KeyCode -> Bool
isKeyB = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyB)

isKeyC :: KeyCode -> Bool
isKeyC :: KeyCode -> Bool
isKeyC = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyC)

isKeyD :: KeyCode -> Bool
isKeyD :: KeyCode -> Bool
isKeyD = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyD)

isKeyE :: KeyCode -> Bool
isKeyE :: KeyCode -> Bool
isKeyE = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyE)

isKeyF :: KeyCode -> Bool
isKeyF :: KeyCode -> Bool
isKeyF = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyF)

isKeyG :: KeyCode -> Bool
isKeyG :: KeyCode -> Bool
isKeyG = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyG)

isKeyH :: KeyCode -> Bool
isKeyH :: KeyCode -> Bool
isKeyH = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyH)

isKeyI :: KeyCode -> Bool
isKeyI :: KeyCode -> Bool
isKeyI = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyI)

isKeyJ :: KeyCode -> Bool
isKeyJ :: KeyCode -> Bool
isKeyJ = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyJ)

isKeyK :: KeyCode -> Bool
isKeyK :: KeyCode -> Bool
isKeyK = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyK)

isKeyL :: KeyCode -> Bool
isKeyL :: KeyCode -> Bool
isKeyL = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyL)

isKeyM :: KeyCode -> Bool
isKeyM :: KeyCode -> Bool
isKeyM = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyM)

isKeyN :: KeyCode -> Bool
isKeyN :: KeyCode -> Bool
isKeyN = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyN)

isKeyO :: KeyCode -> Bool
isKeyO :: KeyCode -> Bool
isKeyO = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyO)

isKeyP :: KeyCode -> Bool
isKeyP :: KeyCode -> Bool
isKeyP = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyP)

isKeyQ :: KeyCode -> Bool
isKeyQ :: KeyCode -> Bool
isKeyQ = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyQ)

isKeyR :: KeyCode -> Bool
isKeyR :: KeyCode -> Bool
isKeyR = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyR)

isKeyS :: KeyCode -> Bool
isKeyS :: KeyCode -> Bool
isKeyS = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyS)

isKeyT :: KeyCode -> Bool
isKeyT :: KeyCode -> Bool
isKeyT = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyT)

isKeyU :: KeyCode -> Bool
isKeyU :: KeyCode -> Bool
isKeyU = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyU)

isKeyV :: KeyCode -> Bool
isKeyV :: KeyCode -> Bool
isKeyV = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyV)

isKeyW :: KeyCode -> Bool
isKeyW :: KeyCode -> Bool
isKeyW = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyW)

isKeyX :: KeyCode -> Bool
isKeyX :: KeyCode -> Bool
isKeyX = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyX)

isKeyY :: KeyCode -> Bool
isKeyY :: KeyCode -> Bool
isKeyY = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyY)

isKeyZ :: KeyCode -> Bool
isKeyZ :: KeyCode -> Bool
isKeyZ = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyZ)

-- Key pad
isKeyPadDivide :: KeyCode -> Bool
isKeyPadDivide :: KeyCode -> Bool
isKeyPadDivide = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadDivide)

isKeyPadMultiply :: KeyCode -> Bool
isKeyPadMultiply :: KeyCode -> Bool
isKeyPadMultiply = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadMultiply)

isKeyPadMinus :: KeyCode -> Bool
isKeyPadMinus :: KeyCode -> Bool
isKeyPadMinus = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadMinus)

isKeyPadPlus :: KeyCode -> Bool
isKeyPadPlus :: KeyCode -> Bool
isKeyPadPlus = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadPlus)

isKeyPadEnter :: KeyCode -> Bool
isKeyPadEnter :: KeyCode -> Bool
isKeyPadEnter = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadEnter)

isKeyPadPeriod :: KeyCode -> Bool
isKeyPadPeriod :: KeyCode -> Bool
isKeyPadPeriod = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPadPeriod)

-- Key pad numbers
isKeyPad0 :: KeyCode -> Bool
isKeyPad0 :: KeyCode -> Bool
isKeyPad0 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad0)

isKeyPad1 :: KeyCode -> Bool
isKeyPad1 :: KeyCode -> Bool
isKeyPad1 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad1)

isKeyPad2 :: KeyCode -> Bool
isKeyPad2 :: KeyCode -> Bool
isKeyPad2 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad2)

isKeyPad3 :: KeyCode -> Bool
isKeyPad3 :: KeyCode -> Bool
isKeyPad3 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad3)

isKeyPad4 :: KeyCode -> Bool
isKeyPad4 :: KeyCode -> Bool
isKeyPad4 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad4)

isKeyPad5 :: KeyCode -> Bool
isKeyPad5 :: KeyCode -> Bool
isKeyPad5 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad5)

isKeyPad6 :: KeyCode -> Bool
isKeyPad6 :: KeyCode -> Bool
isKeyPad6 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad6)

isKeyPad7 :: KeyCode -> Bool
isKeyPad7 :: KeyCode -> Bool
isKeyPad7 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad7)

isKeyPad8 :: KeyCode -> Bool
isKeyPad8 :: KeyCode -> Bool
isKeyPad8 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad8)

isKeyPad9 :: KeyCode -> Bool
isKeyPad9 :: KeyCode -> Bool
isKeyPad9 = (forall a. Eq a => a -> a -> Bool
== KeyCode
keyPad9)