Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
An enumeration of scancodes and keycodes, allowing you to pattern match on keyboard keys.
This module uses a relatively new GHC feature called PatternSynonyms
in order to provide pattern
matches over the underlying Scancode
or Keycode
. We do this so that you are also able to
work with vendor-specific or otherwise unknown codes.
- newtype Scancode = Scancode {}
- pattern ScancodeUnknown :: Scancode
- pattern ScancodeA :: Scancode
- pattern ScancodeB :: Scancode
- pattern ScancodeC :: Scancode
- pattern ScancodeD :: Scancode
- pattern ScancodeE :: Scancode
- pattern ScancodeF :: Scancode
- pattern ScancodeG :: Scancode
- pattern ScancodeH :: Scancode
- pattern ScancodeI :: Scancode
- pattern ScancodeJ :: Scancode
- pattern ScancodeK :: Scancode
- pattern ScancodeL :: Scancode
- pattern ScancodeM :: Scancode
- pattern ScancodeN :: Scancode
- pattern ScancodeO :: Scancode
- pattern ScancodeP :: Scancode
- pattern ScancodeQ :: Scancode
- pattern ScancodeR :: Scancode
- pattern ScancodeS :: Scancode
- pattern ScancodeT :: Scancode
- pattern ScancodeU :: Scancode
- pattern ScancodeV :: Scancode
- pattern ScancodeW :: Scancode
- pattern ScancodeX :: Scancode
- pattern ScancodeY :: Scancode
- pattern ScancodeZ :: Scancode
- pattern Scancode1 :: Scancode
- pattern Scancode2 :: Scancode
- pattern Scancode3 :: Scancode
- pattern Scancode4 :: Scancode
- pattern Scancode5 :: Scancode
- pattern Scancode6 :: Scancode
- pattern Scancode7 :: Scancode
- pattern Scancode8 :: Scancode
- pattern Scancode9 :: Scancode
- pattern Scancode0 :: Scancode
- pattern ScancodeReturn :: Scancode
- pattern ScancodeEscape :: Scancode
- pattern ScancodeBackspace :: Scancode
- pattern ScancodeTab :: Scancode
- pattern ScancodeSpace :: Scancode
- pattern ScancodeMinus :: Scancode
- pattern ScancodeEquals :: Scancode
- pattern ScancodeLeftBracket :: Scancode
- pattern ScancodeRightBracket :: Scancode
- pattern ScancodeBackslash :: Scancode
- pattern ScancodeNonUSHash :: Scancode
- pattern ScancodeSemicolon :: Scancode
- pattern ScancodeApostrophe :: Scancode
- pattern ScancodeGrave :: Scancode
- pattern ScancodeComma :: Scancode
- pattern ScancodePeriod :: Scancode
- pattern ScancodeSlash :: Scancode
- pattern ScancodeCapsLock :: Scancode
- pattern ScancodeF1 :: Scancode
- pattern ScancodeF2 :: Scancode
- pattern ScancodeF3 :: Scancode
- pattern ScancodeF4 :: Scancode
- pattern ScancodeF5 :: Scancode
- pattern ScancodeF6 :: Scancode
- pattern ScancodeF7 :: Scancode
- pattern ScancodeF8 :: Scancode
- pattern ScancodeF9 :: Scancode
- pattern ScancodeF10 :: Scancode
- pattern ScancodeF11 :: Scancode
- pattern ScancodeF12 :: Scancode
- pattern ScancodePrintScreen :: Scancode
- pattern ScancodeScrollLock :: Scancode
- pattern ScancodePause :: Scancode
- pattern ScancodeInsert :: Scancode
- pattern ScancodeHome :: Scancode
- pattern ScancodePageUp :: Scancode
- pattern ScancodeDelete :: Scancode
- pattern ScancodeEnd :: Scancode
- pattern ScancodePageDown :: Scancode
- pattern ScancodeRight :: Scancode
- pattern ScancodeLeft :: Scancode
- pattern ScancodeDown :: Scancode
- pattern ScancodeUp :: Scancode
- pattern ScancodeNumLockClear :: Scancode
- pattern ScancodeKPDivide :: Scancode
- pattern ScancodeKPMultiply :: Scancode
- pattern ScancodeKPMinus :: Scancode
- pattern ScancodeKPPlus :: Scancode
- pattern ScancodeKPEnter :: Scancode
- pattern ScancodeKP1 :: Scancode
- pattern ScancodeKP2 :: Scancode
- pattern ScancodeKP3 :: Scancode
- pattern ScancodeKP4 :: Scancode
- pattern ScancodeKP5 :: Scancode
- pattern ScancodeKP6 :: Scancode
- pattern ScancodeKP7 :: Scancode
- pattern ScancodeKP8 :: Scancode
- pattern ScancodeKP9 :: Scancode
- pattern ScancodeKP0 :: Scancode
- pattern ScancodeKPPeriod :: Scancode
- pattern ScancodeNonUSBackslash :: Scancode
- pattern ScancodeApplication :: Scancode
- pattern ScancodePower :: Scancode
- pattern ScancodeKPEquals :: Scancode
- pattern ScancodeF13 :: Scancode
- pattern ScancodeF14 :: Scancode
- pattern ScancodeF15 :: Scancode
- pattern ScancodeF16 :: Scancode
- pattern ScancodeF17 :: Scancode
- pattern ScancodeF18 :: Scancode
- pattern ScancodeF19 :: Scancode
- pattern ScancodeF20 :: Scancode
- pattern ScancodeF21 :: Scancode
- pattern ScancodeF22 :: Scancode
- pattern ScancodeF23 :: Scancode
- pattern ScancodeF24 :: Scancode
- pattern ScancodeExecute :: Scancode
- pattern ScancodeHelp :: Scancode
- pattern ScancodeMenu :: Scancode
- pattern ScancodeSelect :: Scancode
- pattern ScancodeStop :: Scancode
- pattern ScancodeAgain :: Scancode
- pattern ScancodeUndo :: Scancode
- pattern ScancodeCut :: Scancode
- pattern ScancodeCopy :: Scancode
- pattern ScancodePaste :: Scancode
- pattern ScancodeFind :: Scancode
- pattern ScancodeMute :: Scancode
- pattern ScancodeVolumeUp :: Scancode
- pattern ScancodeVolumeDown :: Scancode
- pattern ScancodeKPComma :: Scancode
- pattern ScancodeKPEqualsAS400 :: Scancode
- pattern ScancodeInternational1 :: Scancode
- pattern ScancodeInternational2 :: Scancode
- pattern ScancodeInternational3 :: Scancode
- pattern ScancodeInternational4 :: Scancode
- pattern ScancodeInternational5 :: Scancode
- pattern ScancodeInternational6 :: Scancode
- pattern ScancodeInternational7 :: Scancode
- pattern ScancodeInternational8 :: Scancode
- pattern ScancodeInternational9 :: Scancode
- pattern ScancodeLang1 :: Scancode
- pattern ScancodeLang2 :: Scancode
- pattern ScancodeLang3 :: Scancode
- pattern ScancodeLang4 :: Scancode
- pattern ScancodeLang5 :: Scancode
- pattern ScancodeLang6 :: Scancode
- pattern ScancodeLang7 :: Scancode
- pattern ScancodeLang8 :: Scancode
- pattern ScancodeLang9 :: Scancode
- pattern ScancodeAltErase :: Scancode
- pattern ScancodeSysReq :: Scancode
- pattern ScancodeCancel :: Scancode
- pattern ScancodeClear :: Scancode
- pattern ScancodePrior :: Scancode
- pattern ScancodeReturn2 :: Scancode
- pattern ScancodeSeparator :: Scancode
- pattern ScancodeOut :: Scancode
- pattern ScancodeOper :: Scancode
- pattern ScancodeClearAgain :: Scancode
- pattern ScancodeCrSel :: Scancode
- pattern ScancodeExSel :: Scancode
- pattern ScancodeKP00 :: Scancode
- pattern ScancodeKP000 :: Scancode
- pattern ScancodeThousandsSeparator :: Scancode
- pattern ScancodeDecimalSeparator :: Scancode
- pattern ScancodeCurrencyUnit :: Scancode
- pattern ScancodeCurrencySubunit :: Scancode
- pattern ScancodeLeftParen :: Scancode
- pattern ScancodeRightParen :: Scancode
- pattern ScancodeLeftBrace :: Scancode
- pattern ScancodeRightBrace :: Scancode
- pattern ScancodeKPTab :: Scancode
- pattern ScancodeKPBackspace :: Scancode
- pattern ScancodeKPA :: Scancode
- pattern ScancodeKPB :: Scancode
- pattern ScancodeKPC :: Scancode
- pattern ScancodeKPD :: Scancode
- pattern ScancodeKPE :: Scancode
- pattern ScancodeKPF :: Scancode
- pattern ScancodeKPXOR :: Scancode
- pattern ScancodeKPPower :: Scancode
- pattern ScancodeKPPercent :: Scancode
- pattern ScancodeKPLess :: Scancode
- pattern ScancodeKPGreater :: Scancode
- pattern ScancodeKPAmpersand :: Scancode
- pattern ScancodeKPDblAmpersand :: Scancode
- pattern ScancodeKPVerticalBar :: Scancode
- pattern ScancodeKPDblVerticalBar :: Scancode
- pattern ScancodeKPColon :: Scancode
- pattern ScancodeKPHash :: Scancode
- pattern ScancodeKPSpace :: Scancode
- pattern ScancodeKPAt :: Scancode
- pattern ScancodeKPExclam :: Scancode
- pattern ScancodeKPMemStore :: Scancode
- pattern ScancodeKPMemRecall :: Scancode
- pattern ScancodeKPMemClear :: Scancode
- pattern ScancodeKPMemAdd :: Scancode
- pattern ScancodeKPMemSubtract :: Scancode
- pattern ScancodeKPMemMultiply :: Scancode
- pattern ScancodeKPMemDivide :: Scancode
- pattern ScancodeKPPlusMinus :: Scancode
- pattern ScancodeKPClear :: Scancode
- pattern ScancodeKPClearEntry :: Scancode
- pattern ScancodeKPBinary :: Scancode
- pattern ScancodeKPOctal :: Scancode
- pattern ScancodeKPDecimal :: Scancode
- pattern ScancodeKPHexadecimal :: Scancode
- pattern ScancodeLCtrl :: Scancode
- pattern ScancodeLShift :: Scancode
- pattern ScancodeLAlt :: Scancode
- pattern ScancodeLGUI :: Scancode
- pattern ScancodeRCtrl :: Scancode
- pattern ScancodeRShift :: Scancode
- pattern ScancodeRAlt :: Scancode
- pattern ScancodeRGUI :: Scancode
- pattern ScancodeMode :: Scancode
- pattern ScancodeAudioNext :: Scancode
- pattern ScancodeAudioPrev :: Scancode
- pattern ScancodeAudioStop :: Scancode
- pattern ScancodeAudioPlay :: Scancode
- pattern ScancodeAudioMute :: Scancode
- pattern ScancodeMediaSelect :: Scancode
- pattern ScancodeWWW :: Scancode
- pattern ScancodeMail :: Scancode
- pattern ScancodeCalculator :: Scancode
- pattern ScancodeComputer :: Scancode
- pattern ScancodeACSearch :: Scancode
- pattern ScancodeACHome :: Scancode
- pattern ScancodeACBack :: Scancode
- pattern ScancodeACForward :: Scancode
- pattern ScancodeACStop :: Scancode
- pattern ScancodeACRefresh :: Scancode
- pattern ScancodeACBookmarks :: Scancode
- pattern ScancodeBrightnessDown :: Scancode
- pattern ScancodeBrightnessUp :: Scancode
- pattern ScancodeDisplaySwitch :: Scancode
- pattern ScancodeKBDIllumToggle :: Scancode
- pattern ScancodeKBDIllumDown :: Scancode
- pattern ScancodeKBDIllumUp :: Scancode
- pattern ScancodeEject :: Scancode
- pattern ScancodeSleep :: Scancode
- pattern ScancodeApp1 :: Scancode
- pattern ScancodeApp2 :: Scancode
- newtype Keycode = Keycode {}
- pattern KeycodeUnknown :: Keycode
- pattern KeycodeReturn :: Keycode
- pattern KeycodeEscape :: Keycode
- pattern KeycodeBackspace :: Keycode
- pattern KeycodeTab :: Keycode
- pattern KeycodeSpace :: Keycode
- pattern KeycodeExclaim :: Keycode
- pattern KeycodeQuoteDbl :: Keycode
- pattern KeycodeHash :: Keycode
- pattern KeycodePercent :: Keycode
- pattern KeycodeDollar :: Keycode
- pattern KeycodeAmpersand :: Keycode
- pattern KeycodeQuote :: Keycode
- pattern KeycodeLeftParen :: Keycode
- pattern KeycodeRightParen :: Keycode
- pattern KeycodeAsterisk :: Keycode
- pattern KeycodePlus :: Keycode
- pattern KeycodeComma :: Keycode
- pattern KeycodeMinus :: Keycode
- pattern KeycodePeriod :: Keycode
- pattern KeycodeSlash :: Keycode
- pattern Keycode0 :: Keycode
- pattern Keycode1 :: Keycode
- pattern Keycode2 :: Keycode
- pattern Keycode3 :: Keycode
- pattern Keycode4 :: Keycode
- pattern Keycode5 :: Keycode
- pattern Keycode6 :: Keycode
- pattern Keycode7 :: Keycode
- pattern Keycode8 :: Keycode
- pattern Keycode9 :: Keycode
- pattern KeycodeColon :: Keycode
- pattern KeycodeSemicolon :: Keycode
- pattern KeycodeLess :: Keycode
- pattern KeycodeEquals :: Keycode
- pattern KeycodeGreater :: Keycode
- pattern KeycodeQuestion :: Keycode
- pattern KeycodeAt :: Keycode
- pattern KeycodeLeftBracket :: Keycode
- pattern KeycodeBackslash :: Keycode
- pattern KeycodeRightBracket :: Keycode
- pattern KeycodeCaret :: Keycode
- pattern KeycodeUnderscore :: Keycode
- pattern KeycodeBackquote :: Keycode
- pattern KeycodeA :: Keycode
- pattern KeycodeB :: Keycode
- pattern KeycodeC :: Keycode
- pattern KeycodeD :: Keycode
- pattern KeycodeE :: Keycode
- pattern KeycodeF :: Keycode
- pattern KeycodeG :: Keycode
- pattern KeycodeH :: Keycode
- pattern KeycodeI :: Keycode
- pattern KeycodeJ :: Keycode
- pattern KeycodeK :: Keycode
- pattern KeycodeL :: Keycode
- pattern KeycodeM :: Keycode
- pattern KeycodeN :: Keycode
- pattern KeycodeO :: Keycode
- pattern KeycodeP :: Keycode
- pattern KeycodeQ :: Keycode
- pattern KeycodeR :: Keycode
- pattern KeycodeS :: Keycode
- pattern KeycodeT :: Keycode
- pattern KeycodeU :: Keycode
- pattern KeycodeV :: Keycode
- pattern KeycodeW :: Keycode
- pattern KeycodeX :: Keycode
- pattern KeycodeY :: Keycode
- pattern KeycodeZ :: Keycode
- pattern KeycodeCapsLock :: Keycode
- pattern KeycodeF1 :: Keycode
- pattern KeycodeF2 :: Keycode
- pattern KeycodeF3 :: Keycode
- pattern KeycodeF4 :: Keycode
- pattern KeycodeF5 :: Keycode
- pattern KeycodeF6 :: Keycode
- pattern KeycodeF7 :: Keycode
- pattern KeycodeF8 :: Keycode
- pattern KeycodeF9 :: Keycode
- pattern KeycodeF10 :: Keycode
- pattern KeycodeF11 :: Keycode
- pattern KeycodeF12 :: Keycode
- pattern KeycodePrintScreen :: Keycode
- pattern KeycodeScrollLock :: Keycode
- pattern KeycodePause :: Keycode
- pattern KeycodeInsert :: Keycode
- pattern KeycodeHome :: Keycode
- pattern KeycodePageUp :: Keycode
- pattern KeycodeDelete :: Keycode
- pattern KeycodeEnd :: Keycode
- pattern KeycodePageDown :: Keycode
- pattern KeycodeRight :: Keycode
- pattern KeycodeLeft :: Keycode
- pattern KeycodeDown :: Keycode
- pattern KeycodeUp :: Keycode
- pattern KeycodeNumLockClear :: Keycode
- pattern KeycodeKPDivide :: Keycode
- pattern KeycodeKPMultiply :: Keycode
- pattern KeycodeKPMinus :: Keycode
- pattern KeycodeKPPlus :: Keycode
- pattern KeycodeKPEnter :: Keycode
- pattern KeycodeKP1 :: Keycode
- pattern KeycodeKP2 :: Keycode
- pattern KeycodeKP3 :: Keycode
- pattern KeycodeKP4 :: Keycode
- pattern KeycodeKP5 :: Keycode
- pattern KeycodeKP6 :: Keycode
- pattern KeycodeKP7 :: Keycode
- pattern KeycodeKP8 :: Keycode
- pattern KeycodeKP9 :: Keycode
- pattern KeycodeKP0 :: Keycode
- pattern KeycodeKPPeriod :: Keycode
- pattern KeycodeApplication :: Keycode
- pattern KeycodePower :: Keycode
- pattern KeycodeKPEquals :: Keycode
- pattern KeycodeF13 :: Keycode
- pattern KeycodeF14 :: Keycode
- pattern KeycodeF15 :: Keycode
- pattern KeycodeF16 :: Keycode
- pattern KeycodeF17 :: Keycode
- pattern KeycodeF18 :: Keycode
- pattern KeycodeF19 :: Keycode
- pattern KeycodeF20 :: Keycode
- pattern KeycodeF21 :: Keycode
- pattern KeycodeF22 :: Keycode
- pattern KeycodeF23 :: Keycode
- pattern KeycodeF24 :: Keycode
- pattern KeycodeExecute :: Keycode
- pattern KeycodeHelp :: Keycode
- pattern KeycodeMenu :: Keycode
- pattern KeycodeSelect :: Keycode
- pattern KeycodeStop :: Keycode
- pattern KeycodeAgain :: Keycode
- pattern KeycodeUndo :: Keycode
- pattern KeycodeCut :: Keycode
- pattern KeycodeCopy :: Keycode
- pattern KeycodePaste :: Keycode
- pattern KeycodeFind :: Keycode
- pattern KeycodeMute :: Keycode
- pattern KeycodeVolumeUp :: Keycode
- pattern KeycodeVolumeDown :: Keycode
- pattern KeycodeKPComma :: Keycode
- pattern KeycodeKPEqualsAS400 :: Keycode
- pattern KeycodeAltErase :: Keycode
- pattern KeycodeSysReq :: Keycode
- pattern KeycodeCancel :: Keycode
- pattern KeycodeClear :: Keycode
- pattern KeycodePrior :: Keycode
- pattern KeycodeReturn2 :: Keycode
- pattern KeycodeSeparator :: Keycode
- pattern KeycodeOut :: Keycode
- pattern KeycodeOper :: Keycode
- pattern KeycodeClearAgain :: Keycode
- pattern KeycodeCrSel :: Keycode
- pattern KeycodeExSel :: Keycode
- pattern KeycodeKP00 :: Keycode
- pattern KeycodeKP000 :: Keycode
- pattern KeycodeThousandsSeparator :: Keycode
- pattern KeycodeDecimalSeparator :: Keycode
- pattern KeycodeCurrencyUnit :: Keycode
- pattern KeycodeCurrencySubunit :: Keycode
- pattern KeycodeKPLeftParen :: Keycode
- pattern KeycodeKPRightParen :: Keycode
- pattern KeycodeKPLeftBrace :: Keycode
- pattern KeycodeKPRightBrace :: Keycode
- pattern KeycodeKPTab :: Keycode
- pattern KeycodeKPBackspace :: Keycode
- pattern KeycodeKPA :: Keycode
- pattern KeycodeKPB :: Keycode
- pattern KeycodeKPC :: Keycode
- pattern KeycodeKPD :: Keycode
- pattern KeycodeKPE :: Keycode
- pattern KeycodeKPF :: Keycode
- pattern KeycodeKPXor :: Keycode
- pattern KeycodeKPPower :: Keycode
- pattern KeycodeKPPercent :: Keycode
- pattern KeycodeKPLess :: Keycode
- pattern KeycodeKPGreater :: Keycode
- pattern KeycodeKPAmpersand :: Keycode
- pattern KeycodeKPDblAmpersand :: Keycode
- pattern KeycodeKPVerticalBar :: Keycode
- pattern KeycodeKPDblVerticalBar :: Keycode
- pattern KeycodeKPColon :: Keycode
- pattern KeycodeKPHash :: Keycode
- pattern KeycodeKPSpace :: Keycode
- pattern KeycodeKPAt :: Keycode
- pattern KeycodeKPExclam :: Keycode
- pattern KeycodeKPMemStore :: Keycode
- pattern KeycodeKPMemRecall :: Keycode
- pattern KeycodeKPMemClear :: Keycode
- pattern KeycodeKPMemAdd :: Keycode
- pattern KeycodeKPMemSubtract :: Keycode
- pattern KeycodeKPMemMultiply :: Keycode
- pattern KeycodeKPMemDivide :: Keycode
- pattern KeycodeKPPlusMinus :: Keycode
- pattern KeycodeKPClear :: Keycode
- pattern KeycodeKPClearEntry :: Keycode
- pattern KeycodeKPBinary :: Keycode
- pattern KeycodeKPOctal :: Keycode
- pattern KeycodeKPDecimal :: Keycode
- pattern KeycodeKPHexadecimal :: Keycode
- pattern KeycodeLCtrl :: Keycode
- pattern KeycodeLShift :: Keycode
- pattern KeycodeLAlt :: Keycode
- pattern KeycodeLGUI :: Keycode
- pattern KeycodeRCtrl :: Keycode
- pattern KeycodeRShift :: Keycode
- pattern KeycodeRAlt :: Keycode
- pattern KeycodeRGUI :: Keycode
- pattern KeycodeMode :: Keycode
- pattern KeycodeAudioNext :: Keycode
- pattern KeycodeAudioPrev :: Keycode
- pattern KeycodeAudioStop :: Keycode
- pattern KeycodeAudioPlay :: Keycode
- pattern KeycodeAudioMute :: Keycode
- pattern KeycodeMediaSelect :: Keycode
- pattern KeycodeWWW :: Keycode
- pattern KeycodeMail :: Keycode
- pattern KeycodeCalculator :: Keycode
- pattern KeycodeComputer :: Keycode
- pattern KeycodeACSearch :: Keycode
- pattern KeycodeACHome :: Keycode
- pattern KeycodeACBack :: Keycode
- pattern KeycodeACForward :: Keycode
- pattern KeycodeACStop :: Keycode
- pattern KeycodeACRefresh :: Keycode
- pattern KeycodeACBookmarks :: Keycode
- pattern KeycodeBrightnessDown :: Keycode
- pattern KeycodeBrightnessUp :: Keycode
- pattern KeycodeDisplaySwitch :: Keycode
- pattern KeycodeKbdIllumToggle :: Keycode
- pattern KeycodeKbdIllumDown :: Keycode
- pattern KeycodeKbdIllumUp :: Keycode
- pattern KeycodeEject :: Keycode
- pattern KeycodeSleep :: Keycode
Scancodes
Scancodes are codes that correspond to the physical position of a key, independent of the current keyboard layout.
Scancodes are meant to be layout-independent. Think of this as "the user pressed the Q key as it would be on a US QWERTY keyboard" regardless of whether this is actually a European keyboard or a Dvorak keyboard or whatever. The scancode is always the same key position.
Scancode
makes sense when you want key presses based on their location on a keyboard - for example, the traditional "WASD" layout used in first-person shooters.
pattern ScancodeUnknown :: Scancode Source
pattern ScancodeReturn :: Scancode Source
pattern ScancodeEscape :: Scancode Source
pattern ScancodeBackspace :: Scancode Source
pattern ScancodeTab :: Scancode Source
pattern ScancodeSpace :: Scancode Source
pattern ScancodeMinus :: Scancode Source
pattern ScancodeEquals :: Scancode Source
pattern ScancodeLeftBracket :: Scancode Source
pattern ScancodeRightBracket :: Scancode Source
pattern ScancodeBackslash :: Scancode Source
pattern ScancodeNonUSHash :: Scancode Source
pattern ScancodeSemicolon :: Scancode Source
pattern ScancodeApostrophe :: Scancode Source
pattern ScancodeGrave :: Scancode Source
pattern ScancodeComma :: Scancode Source
pattern ScancodePeriod :: Scancode Source
pattern ScancodeSlash :: Scancode Source
pattern ScancodeCapsLock :: Scancode Source
pattern ScancodeF1 :: Scancode Source
pattern ScancodeF2 :: Scancode Source
pattern ScancodeF3 :: Scancode Source
pattern ScancodeF4 :: Scancode Source
pattern ScancodeF5 :: Scancode Source
pattern ScancodeF6 :: Scancode Source
pattern ScancodeF7 :: Scancode Source
pattern ScancodeF8 :: Scancode Source
pattern ScancodeF9 :: Scancode Source
pattern ScancodeF10 :: Scancode Source
pattern ScancodeF11 :: Scancode Source
pattern ScancodeF12 :: Scancode Source
pattern ScancodePrintScreen :: Scancode Source
pattern ScancodeScrollLock :: Scancode Source
pattern ScancodePause :: Scancode Source
pattern ScancodeInsert :: Scancode Source
pattern ScancodeHome :: Scancode Source
pattern ScancodePageUp :: Scancode Source
pattern ScancodeDelete :: Scancode Source
pattern ScancodeEnd :: Scancode Source
pattern ScancodePageDown :: Scancode Source
pattern ScancodeRight :: Scancode Source
pattern ScancodeLeft :: Scancode Source
pattern ScancodeDown :: Scancode Source
pattern ScancodeUp :: Scancode Source
pattern ScancodeNumLockClear :: Scancode Source
pattern ScancodeKPDivide :: Scancode Source
pattern ScancodeKPMultiply :: Scancode Source
pattern ScancodeKPMinus :: Scancode Source
pattern ScancodeKPPlus :: Scancode Source
pattern ScancodeKPEnter :: Scancode Source
pattern ScancodeKP1 :: Scancode Source
pattern ScancodeKP2 :: Scancode Source
pattern ScancodeKP3 :: Scancode Source
pattern ScancodeKP4 :: Scancode Source
pattern ScancodeKP5 :: Scancode Source
pattern ScancodeKP6 :: Scancode Source
pattern ScancodeKP7 :: Scancode Source
pattern ScancodeKP8 :: Scancode Source
pattern ScancodeKP9 :: Scancode Source
pattern ScancodeKP0 :: Scancode Source
pattern ScancodeKPPeriod :: Scancode Source
pattern ScancodeNonUSBackslash :: Scancode Source
pattern ScancodeApplication :: Scancode Source
pattern ScancodePower :: Scancode Source
pattern ScancodeKPEquals :: Scancode Source
pattern ScancodeF13 :: Scancode Source
pattern ScancodeF14 :: Scancode Source
pattern ScancodeF15 :: Scancode Source
pattern ScancodeF16 :: Scancode Source
pattern ScancodeF17 :: Scancode Source
pattern ScancodeF18 :: Scancode Source
pattern ScancodeF19 :: Scancode Source
pattern ScancodeF20 :: Scancode Source
pattern ScancodeF21 :: Scancode Source
pattern ScancodeF22 :: Scancode Source
pattern ScancodeF23 :: Scancode Source
pattern ScancodeF24 :: Scancode Source
pattern ScancodeExecute :: Scancode Source
pattern ScancodeHelp :: Scancode Source
pattern ScancodeMenu :: Scancode Source
pattern ScancodeSelect :: Scancode Source
pattern ScancodeStop :: Scancode Source
pattern ScancodeAgain :: Scancode Source
pattern ScancodeUndo :: Scancode Source
pattern ScancodeCut :: Scancode Source
pattern ScancodeCopy :: Scancode Source
pattern ScancodePaste :: Scancode Source
pattern ScancodeFind :: Scancode Source
pattern ScancodeMute :: Scancode Source
pattern ScancodeVolumeUp :: Scancode Source
pattern ScancodeVolumeDown :: Scancode Source
pattern ScancodeKPComma :: Scancode Source
pattern ScancodeKPEqualsAS400 :: Scancode Source
pattern ScancodeInternational1 :: Scancode Source
pattern ScancodeInternational2 :: Scancode Source
pattern ScancodeInternational3 :: Scancode Source
pattern ScancodeInternational4 :: Scancode Source
pattern ScancodeInternational5 :: Scancode Source
pattern ScancodeInternational6 :: Scancode Source
pattern ScancodeInternational7 :: Scancode Source
pattern ScancodeInternational8 :: Scancode Source
pattern ScancodeInternational9 :: Scancode Source
pattern ScancodeLang1 :: Scancode Source
pattern ScancodeLang2 :: Scancode Source
pattern ScancodeLang3 :: Scancode Source
pattern ScancodeLang4 :: Scancode Source
pattern ScancodeLang5 :: Scancode Source
pattern ScancodeLang6 :: Scancode Source
pattern ScancodeLang7 :: Scancode Source
pattern ScancodeLang8 :: Scancode Source
pattern ScancodeLang9 :: Scancode Source
pattern ScancodeAltErase :: Scancode Source
pattern ScancodeSysReq :: Scancode Source
pattern ScancodeCancel :: Scancode Source
pattern ScancodeClear :: Scancode Source
pattern ScancodePrior :: Scancode Source
pattern ScancodeReturn2 :: Scancode Source
pattern ScancodeSeparator :: Scancode Source
pattern ScancodeOut :: Scancode Source
pattern ScancodeOper :: Scancode Source
pattern ScancodeClearAgain :: Scancode Source
pattern ScancodeCrSel :: Scancode Source
pattern ScancodeExSel :: Scancode Source
pattern ScancodeKP00 :: Scancode Source
pattern ScancodeKP000 :: Scancode Source
pattern ScancodeThousandsSeparator :: Scancode Source
pattern ScancodeDecimalSeparator :: Scancode Source
pattern ScancodeCurrencyUnit :: Scancode Source
pattern ScancodeCurrencySubunit :: Scancode Source
pattern ScancodeLeftParen :: Scancode Source
pattern ScancodeRightParen :: Scancode Source
pattern ScancodeLeftBrace :: Scancode Source
pattern ScancodeRightBrace :: Scancode Source
pattern ScancodeKPTab :: Scancode Source
pattern ScancodeKPBackspace :: Scancode Source
pattern ScancodeKPA :: Scancode Source
pattern ScancodeKPB :: Scancode Source
pattern ScancodeKPC :: Scancode Source
pattern ScancodeKPD :: Scancode Source
pattern ScancodeKPE :: Scancode Source
pattern ScancodeKPF :: Scancode Source
pattern ScancodeKPXOR :: Scancode Source
pattern ScancodeKPPower :: Scancode Source
pattern ScancodeKPPercent :: Scancode Source
pattern ScancodeKPLess :: Scancode Source
pattern ScancodeKPGreater :: Scancode Source
pattern ScancodeKPAmpersand :: Scancode Source
pattern ScancodeKPDblAmpersand :: Scancode Source
pattern ScancodeKPVerticalBar :: Scancode Source
pattern ScancodeKPDblVerticalBar :: Scancode Source
pattern ScancodeKPColon :: Scancode Source
pattern ScancodeKPHash :: Scancode Source
pattern ScancodeKPSpace :: Scancode Source
pattern ScancodeKPAt :: Scancode Source
pattern ScancodeKPExclam :: Scancode Source
pattern ScancodeKPMemStore :: Scancode Source
pattern ScancodeKPMemRecall :: Scancode Source
pattern ScancodeKPMemClear :: Scancode Source
pattern ScancodeKPMemAdd :: Scancode Source
pattern ScancodeKPMemSubtract :: Scancode Source
pattern ScancodeKPMemMultiply :: Scancode Source
pattern ScancodeKPMemDivide :: Scancode Source
pattern ScancodeKPPlusMinus :: Scancode Source
pattern ScancodeKPClear :: Scancode Source
pattern ScancodeKPClearEntry :: Scancode Source
pattern ScancodeKPBinary :: Scancode Source
pattern ScancodeKPOctal :: Scancode Source
pattern ScancodeKPDecimal :: Scancode Source
pattern ScancodeKPHexadecimal :: Scancode Source
pattern ScancodeLCtrl :: Scancode Source
pattern ScancodeLShift :: Scancode Source
pattern ScancodeLAlt :: Scancode Source
pattern ScancodeLGUI :: Scancode Source
pattern ScancodeRCtrl :: Scancode Source
pattern ScancodeRShift :: Scancode Source
pattern ScancodeRAlt :: Scancode Source
pattern ScancodeRGUI :: Scancode Source
pattern ScancodeMode :: Scancode Source
pattern ScancodeAudioNext :: Scancode Source
pattern ScancodeAudioPrev :: Scancode Source
pattern ScancodeAudioStop :: Scancode Source
pattern ScancodeAudioPlay :: Scancode Source
pattern ScancodeAudioMute :: Scancode Source
pattern ScancodeMediaSelect :: Scancode Source
pattern ScancodeWWW :: Scancode Source
pattern ScancodeMail :: Scancode Source
pattern ScancodeCalculator :: Scancode Source
pattern ScancodeComputer :: Scancode Source
pattern ScancodeACSearch :: Scancode Source
pattern ScancodeACHome :: Scancode Source
pattern ScancodeACBack :: Scancode Source
pattern ScancodeACForward :: Scancode Source
pattern ScancodeACStop :: Scancode Source
pattern ScancodeACRefresh :: Scancode Source
pattern ScancodeACBookmarks :: Scancode Source
pattern ScancodeBrightnessDown :: Scancode Source
pattern ScancodeBrightnessUp :: Scancode Source
pattern ScancodeDisplaySwitch :: Scancode Source
pattern ScancodeKBDIllumToggle :: Scancode Source
pattern ScancodeKBDIllumDown :: Scancode Source
pattern ScancodeKBDIllumUp :: Scancode Source
pattern ScancodeEject :: Scancode Source
pattern ScancodeSleep :: Scancode Source
pattern ScancodeApp1 :: Scancode Source
pattern ScancodeApp2 :: Scancode Source
Keycode
Keycodes are layout-dependent codes, in that the code you receive can change for the same physical key depending on the users keyboard layout.
Think of this as "the user pressed the key that is labelled Q
on a specific keyboard."
Keycode
makes sense when you are anticipating the user to press either keys that match some mneumonic, or they are entering text.
pattern KeycodeUnknown :: Keycode Source
pattern KeycodeReturn :: Keycode Source
pattern KeycodeEscape :: Keycode Source
pattern KeycodeBackspace :: Keycode Source
pattern KeycodeTab :: Keycode Source
pattern KeycodeSpace :: Keycode Source
pattern KeycodeExclaim :: Keycode Source
pattern KeycodeQuoteDbl :: Keycode Source
pattern KeycodeHash :: Keycode Source
pattern KeycodePercent :: Keycode Source
pattern KeycodeDollar :: Keycode Source
pattern KeycodeAmpersand :: Keycode Source
pattern KeycodeQuote :: Keycode Source
pattern KeycodeLeftParen :: Keycode Source
pattern KeycodeRightParen :: Keycode Source
pattern KeycodeAsterisk :: Keycode Source
pattern KeycodePlus :: Keycode Source
pattern KeycodeComma :: Keycode Source
pattern KeycodeMinus :: Keycode Source
pattern KeycodePeriod :: Keycode Source
pattern KeycodeSlash :: Keycode Source
pattern KeycodeColon :: Keycode Source
pattern KeycodeSemicolon :: Keycode Source
pattern KeycodeLess :: Keycode Source
pattern KeycodeEquals :: Keycode Source
pattern KeycodeGreater :: Keycode Source
pattern KeycodeQuestion :: Keycode Source
pattern KeycodeLeftBracket :: Keycode Source
pattern KeycodeBackslash :: Keycode Source
pattern KeycodeRightBracket :: Keycode Source
pattern KeycodeCaret :: Keycode Source
pattern KeycodeUnderscore :: Keycode Source
pattern KeycodeBackquote :: Keycode Source
pattern KeycodeCapsLock :: Keycode Source
pattern KeycodeF10 :: Keycode Source
pattern KeycodeF11 :: Keycode Source
pattern KeycodeF12 :: Keycode Source
pattern KeycodePrintScreen :: Keycode Source
pattern KeycodeScrollLock :: Keycode Source
pattern KeycodePause :: Keycode Source
pattern KeycodeInsert :: Keycode Source
pattern KeycodeHome :: Keycode Source
pattern KeycodePageUp :: Keycode Source
pattern KeycodeDelete :: Keycode Source
pattern KeycodeEnd :: Keycode Source
pattern KeycodePageDown :: Keycode Source
pattern KeycodeRight :: Keycode Source
pattern KeycodeLeft :: Keycode Source
pattern KeycodeDown :: Keycode Source
pattern KeycodeNumLockClear :: Keycode Source
pattern KeycodeKPDivide :: Keycode Source
pattern KeycodeKPMultiply :: Keycode Source
pattern KeycodeKPMinus :: Keycode Source
pattern KeycodeKPPlus :: Keycode Source
pattern KeycodeKPEnter :: Keycode Source
pattern KeycodeKP1 :: Keycode Source
pattern KeycodeKP2 :: Keycode Source
pattern KeycodeKP3 :: Keycode Source
pattern KeycodeKP4 :: Keycode Source
pattern KeycodeKP5 :: Keycode Source
pattern KeycodeKP6 :: Keycode Source
pattern KeycodeKP7 :: Keycode Source
pattern KeycodeKP8 :: Keycode Source
pattern KeycodeKP9 :: Keycode Source
pattern KeycodeKP0 :: Keycode Source
pattern KeycodeKPPeriod :: Keycode Source
pattern KeycodeApplication :: Keycode Source
pattern KeycodePower :: Keycode Source
pattern KeycodeKPEquals :: Keycode Source
pattern KeycodeF13 :: Keycode Source
pattern KeycodeF14 :: Keycode Source
pattern KeycodeF15 :: Keycode Source
pattern KeycodeF16 :: Keycode Source
pattern KeycodeF17 :: Keycode Source
pattern KeycodeF18 :: Keycode Source
pattern KeycodeF19 :: Keycode Source
pattern KeycodeF20 :: Keycode Source
pattern KeycodeF21 :: Keycode Source
pattern KeycodeF22 :: Keycode Source
pattern KeycodeF23 :: Keycode Source
pattern KeycodeF24 :: Keycode Source
pattern KeycodeExecute :: Keycode Source
pattern KeycodeHelp :: Keycode Source
pattern KeycodeMenu :: Keycode Source
pattern KeycodeSelect :: Keycode Source
pattern KeycodeStop :: Keycode Source
pattern KeycodeAgain :: Keycode Source
pattern KeycodeUndo :: Keycode Source
pattern KeycodeCut :: Keycode Source
pattern KeycodeCopy :: Keycode Source
pattern KeycodePaste :: Keycode Source
pattern KeycodeFind :: Keycode Source
pattern KeycodeMute :: Keycode Source
pattern KeycodeVolumeUp :: Keycode Source
pattern KeycodeVolumeDown :: Keycode Source
pattern KeycodeKPComma :: Keycode Source
pattern KeycodeKPEqualsAS400 :: Keycode Source
pattern KeycodeAltErase :: Keycode Source
pattern KeycodeSysReq :: Keycode Source
pattern KeycodeCancel :: Keycode Source
pattern KeycodeClear :: Keycode Source
pattern KeycodePrior :: Keycode Source
pattern KeycodeReturn2 :: Keycode Source
pattern KeycodeSeparator :: Keycode Source
pattern KeycodeOut :: Keycode Source
pattern KeycodeOper :: Keycode Source
pattern KeycodeClearAgain :: Keycode Source
pattern KeycodeCrSel :: Keycode Source
pattern KeycodeExSel :: Keycode Source
pattern KeycodeKP00 :: Keycode Source
pattern KeycodeKP000 :: Keycode Source
pattern KeycodeThousandsSeparator :: Keycode Source
pattern KeycodeDecimalSeparator :: Keycode Source
pattern KeycodeCurrencyUnit :: Keycode Source
pattern KeycodeCurrencySubunit :: Keycode Source
pattern KeycodeKPLeftParen :: Keycode Source
pattern KeycodeKPRightParen :: Keycode Source
pattern KeycodeKPLeftBrace :: Keycode Source
pattern KeycodeKPRightBrace :: Keycode Source
pattern KeycodeKPTab :: Keycode Source
pattern KeycodeKPBackspace :: Keycode Source
pattern KeycodeKPA :: Keycode Source
pattern KeycodeKPB :: Keycode Source
pattern KeycodeKPC :: Keycode Source
pattern KeycodeKPD :: Keycode Source
pattern KeycodeKPE :: Keycode Source
pattern KeycodeKPF :: Keycode Source
pattern KeycodeKPXor :: Keycode Source
pattern KeycodeKPPower :: Keycode Source
pattern KeycodeKPPercent :: Keycode Source
pattern KeycodeKPLess :: Keycode Source
pattern KeycodeKPGreater :: Keycode Source
pattern KeycodeKPAmpersand :: Keycode Source
pattern KeycodeKPDblAmpersand :: Keycode Source
pattern KeycodeKPVerticalBar :: Keycode Source
pattern KeycodeKPDblVerticalBar :: Keycode Source
pattern KeycodeKPColon :: Keycode Source
pattern KeycodeKPHash :: Keycode Source
pattern KeycodeKPSpace :: Keycode Source
pattern KeycodeKPAt :: Keycode Source
pattern KeycodeKPExclam :: Keycode Source
pattern KeycodeKPMemStore :: Keycode Source
pattern KeycodeKPMemRecall :: Keycode Source
pattern KeycodeKPMemClear :: Keycode Source
pattern KeycodeKPMemAdd :: Keycode Source
pattern KeycodeKPMemSubtract :: Keycode Source
pattern KeycodeKPMemMultiply :: Keycode Source
pattern KeycodeKPMemDivide :: Keycode Source
pattern KeycodeKPPlusMinus :: Keycode Source
pattern KeycodeKPClear :: Keycode Source
pattern KeycodeKPClearEntry :: Keycode Source
pattern KeycodeKPBinary :: Keycode Source
pattern KeycodeKPOctal :: Keycode Source
pattern KeycodeKPDecimal :: Keycode Source
pattern KeycodeKPHexadecimal :: Keycode Source
pattern KeycodeLCtrl :: Keycode Source
pattern KeycodeLShift :: Keycode Source
pattern KeycodeLAlt :: Keycode Source
pattern KeycodeLGUI :: Keycode Source
pattern KeycodeRCtrl :: Keycode Source
pattern KeycodeRShift :: Keycode Source
pattern KeycodeRAlt :: Keycode Source
pattern KeycodeRGUI :: Keycode Source
pattern KeycodeMode :: Keycode Source
pattern KeycodeAudioNext :: Keycode Source
pattern KeycodeAudioPrev :: Keycode Source
pattern KeycodeAudioStop :: Keycode Source
pattern KeycodeAudioPlay :: Keycode Source
pattern KeycodeAudioMute :: Keycode Source
pattern KeycodeMediaSelect :: Keycode Source
pattern KeycodeWWW :: Keycode Source
pattern KeycodeMail :: Keycode Source
pattern KeycodeCalculator :: Keycode Source
pattern KeycodeComputer :: Keycode Source
pattern KeycodeACSearch :: Keycode Source
pattern KeycodeACHome :: Keycode Source
pattern KeycodeACBack :: Keycode Source
pattern KeycodeACForward :: Keycode Source
pattern KeycodeACStop :: Keycode Source
pattern KeycodeACRefresh :: Keycode Source
pattern KeycodeACBookmarks :: Keycode Source
pattern KeycodeBrightnessDown :: Keycode Source
pattern KeycodeBrightnessUp :: Keycode Source
pattern KeycodeDisplaySwitch :: Keycode Source
pattern KeycodeKbdIllumToggle :: Keycode Source
pattern KeycodeKbdIllumDown :: Keycode Source
pattern KeycodeKbdIllumUp :: Keycode Source
pattern KeycodeEject :: Keycode Source
pattern KeycodeSleep :: Keycode Source