-- | Contains the SDL keyboard mappings. module Helm.Engine.SDL.Keyboard (mapKey) where import qualified SDL.Input.Keyboard.Codes as Codes import Helm.Engine (Key(..)) -- | Map an SDL keycode to a Helm key. mapKey :: Codes.Keycode -> Key mapKey Codes.KeycodeReturn = ReturnKey mapKey Codes.KeycodeEscape = EscapeKey mapKey Codes.KeycodeBackspace = BackspaceKey mapKey Codes.KeycodeTab = TabKey mapKey Codes.KeycodeSpace = SpaceKey mapKey Codes.KeycodeExclaim = ExclaimKey mapKey Codes.KeycodeQuoteDbl = QuoteDblKey mapKey Codes.KeycodeHash = HashKey mapKey Codes.KeycodePercent = PercentKey mapKey Codes.KeycodeDollar = DollarKey mapKey Codes.KeycodeAmpersand = AmpersandKey mapKey Codes.KeycodeQuote = QuoteKey mapKey Codes.KeycodeLeftParen = LeftParenKey mapKey Codes.KeycodeRightParen = RightParenKey mapKey Codes.KeycodeAsterisk = AsteriskKey mapKey Codes.KeycodePlus = PlusKey mapKey Codes.KeycodeComma = CommaKey mapKey Codes.KeycodeMinus = MinusKey mapKey Codes.KeycodePeriod = PeriodKey mapKey Codes.KeycodeSlash = SlashKey mapKey Codes.Keycode0 = Number0Key mapKey Codes.Keycode1 = Number1Key mapKey Codes.Keycode2 = Number2Key mapKey Codes.Keycode3 = Number3Key mapKey Codes.Keycode4 = Number4Key mapKey Codes.Keycode5 = Number5Key mapKey Codes.Keycode6 = Number6Key mapKey Codes.Keycode7 = Number7Key mapKey Codes.Keycode8 = Number8Key mapKey Codes.Keycode9 = Number9Key mapKey Codes.KeycodeColon = ColonKey mapKey Codes.KeycodeSemicolon = SemicolonKey mapKey Codes.KeycodeLess = LessKey mapKey Codes.KeycodeEquals = EqualsKey mapKey Codes.KeycodeGreater = GreaterKey mapKey Codes.KeycodeQuestion = QuestionKey mapKey Codes.KeycodeAt = AtKey mapKey Codes.KeycodeLeftBracket = LeftKey mapKey Codes.KeycodeBackslash = BackslashKey mapKey Codes.KeycodeRightBracket = RightBracketKey mapKey Codes.KeycodeCaret = CaretKey mapKey Codes.KeycodeUnderscore = UnderscoreKey mapKey Codes.KeycodeBackquote = BackquoteKey mapKey Codes.KeycodeA = AKey mapKey Codes.KeycodeB = BKey mapKey Codes.KeycodeC = CKey mapKey Codes.KeycodeD = DKey mapKey Codes.KeycodeE = EKey mapKey Codes.KeycodeF = FKey mapKey Codes.KeycodeG = GKey mapKey Codes.KeycodeH = HKey mapKey Codes.KeycodeI = IKey mapKey Codes.KeycodeJ = JKey mapKey Codes.KeycodeK = KKey mapKey Codes.KeycodeL = LKey mapKey Codes.KeycodeM = MKey mapKey Codes.KeycodeN = NKey mapKey Codes.KeycodeO = OKey mapKey Codes.KeycodeP = PKey mapKey Codes.KeycodeQ = QKey mapKey Codes.KeycodeR = RKey mapKey Codes.KeycodeS = SKey mapKey Codes.KeycodeT = TKey mapKey Codes.KeycodeU = UKey mapKey Codes.KeycodeV = VKey mapKey Codes.KeycodeW = WKey mapKey Codes.KeycodeX = XKey mapKey Codes.KeycodeY = YKey mapKey Codes.KeycodeZ = ZKey mapKey Codes.KeycodeCapsLock = CapsLockKey mapKey Codes.KeycodeF1 = F1Key mapKey Codes.KeycodeF2 = F2Key mapKey Codes.KeycodeF3 = F3Key mapKey Codes.KeycodeF4 = F4Key mapKey Codes.KeycodeF5 = F5Key mapKey Codes.KeycodeF6 = F6Key mapKey Codes.KeycodeF7 = F7Key mapKey Codes.KeycodeF8 = F8Key mapKey Codes.KeycodeF9 = F9Key mapKey Codes.KeycodeF10 = F10Key mapKey Codes.KeycodeF11 = F11Key mapKey Codes.KeycodeF12 = F12Key mapKey Codes.KeycodePrintScreen = PrintScreenKey mapKey Codes.KeycodeScrollLock = ScrollLockKey mapKey Codes.KeycodePause = PauseKey mapKey Codes.KeycodeInsert = InsertKey mapKey Codes.KeycodeHome = HomeKey mapKey Codes.KeycodePageUp = PageUpKey mapKey Codes.KeycodeDelete = DeleteKey mapKey Codes.KeycodeEnd = EndKey mapKey Codes.KeycodePageDown = PageDownKey mapKey Codes.KeycodeRight = RightKey mapKey Codes.KeycodeLeft = LeftKey mapKey Codes.KeycodeDown = DownKey mapKey Codes.KeycodeUp = UpKey mapKey Codes.KeycodeNumLockClear = NumLockClearKey mapKey Codes.KeycodeKPDivide = KeypadDivideKey mapKey Codes.KeycodeKPMultiply = KeypadMultiplyKey mapKey Codes.KeycodeKPMinus = KeypadMinusKey mapKey Codes.KeycodeKPPlus = KeypadPlusKey mapKey Codes.KeycodeKPEnter = KeypadEnterKey mapKey Codes.KeycodeKP1 = KeypadNumber1Key mapKey Codes.KeycodeKP2 = KeypadNumber2Key mapKey Codes.KeycodeKP3 = KeypadNumber3Key mapKey Codes.KeycodeKP4 = KeypadNumber4Key mapKey Codes.KeycodeKP5 = KeypadNumber5Key mapKey Codes.KeycodeKP6 = KeypadNumber6Key mapKey Codes.KeycodeKP7 = KeypadNumber7Key mapKey Codes.KeycodeKP8 = KeypadNumber8Key mapKey Codes.KeycodeKP9 = KeypadNumber9Key mapKey Codes.KeycodeKP0 = KeypadNumber0Key mapKey Codes.KeycodeKPPeriod = KeypadPeriodKey mapKey Codes.KeycodeApplication = ApplicationKey mapKey Codes.KeycodePower = PowerKey mapKey Codes.KeycodeKPEquals = KeypadEqualsKey mapKey Codes.KeycodeF13 = F13Key mapKey Codes.KeycodeF14 = F14Key mapKey Codes.KeycodeF15 = F15Key mapKey Codes.KeycodeF16 = F16Key mapKey Codes.KeycodeF17 = F17Key mapKey Codes.KeycodeF18 = F18Key mapKey Codes.KeycodeF19 = F19Key mapKey Codes.KeycodeF20 = F20Key mapKey Codes.KeycodeF21 = F21Key mapKey Codes.KeycodeF22 = F22Key mapKey Codes.KeycodeF23 = F23Key mapKey Codes.KeycodeF24 = F24Key mapKey Codes.KeycodeExecute = ExecuteKey mapKey Codes.KeycodeHelp = HelpKey mapKey Codes.KeycodeMenu = MenuKey mapKey Codes.KeycodeSelect = SelectKey mapKey Codes.KeycodeStop = StopKey mapKey Codes.KeycodeAgain = AgainKey mapKey Codes.KeycodeUndo = UndoKey mapKey Codes.KeycodeCut = CutKey mapKey Codes.KeycodeCopy = CopyKey mapKey Codes.KeycodePaste = PasteKey mapKey Codes.KeycodeFind = FindKey mapKey Codes.KeycodeMute = MuteKey mapKey Codes.KeycodeVolumeUp = VolumeUpKey mapKey Codes.KeycodeVolumeDown = VolumeDownKey mapKey Codes.KeycodeKPComma = KeypadCommaKey mapKey Codes.KeycodeKPEqualsAS400 = KeypadEqualsAS400Key mapKey Codes.KeycodeAltErase = AltEraseKey mapKey Codes.KeycodeSysReq = SysReqKey mapKey Codes.KeycodeCancel = CancelKey mapKey Codes.KeycodeClear = ClearKey mapKey Codes.KeycodePrior = PriorKey mapKey Codes.KeycodeReturn2 = Return2Key mapKey Codes.KeycodeSeparator = SeparatorKey mapKey Codes.KeycodeOut = OutKey mapKey Codes.KeycodeOper = OperKey mapKey Codes.KeycodeClearAgain = ClearAgainKey mapKey Codes.KeycodeCrSel = CrSelKey mapKey Codes.KeycodeExSel = ExSelKey mapKey Codes.KeycodeKP00 = Keypad00Key mapKey Codes.KeycodeKP000 = Keypad000Key mapKey Codes.KeycodeThousandsSeparator = ThousandsSeparatorKey mapKey Codes.KeycodeDecimalSeparator = DecimalSeparatorKey mapKey Codes.KeycodeCurrencyUnit = CurrencyUnitKey mapKey Codes.KeycodeCurrencySubunit = CurrencySubunitKey mapKey Codes.KeycodeKPLeftParen = KeypadLeftParenKey mapKey Codes.KeycodeKPRightParen = KeypadRightParenKey mapKey Codes.KeycodeKPLeftBrace = KeypadLeftBraceKey mapKey Codes.KeycodeKPRightBrace = KeypadRightBraceKey mapKey Codes.KeycodeKPTab = KeypadTabKey mapKey Codes.KeycodeKPBackspace = KeypadBackspaceKey mapKey Codes.KeycodeKPA = KeypadAKey mapKey Codes.KeycodeKPB = KeypadBKey mapKey Codes.KeycodeKPC = KeypadCKey mapKey Codes.KeycodeKPD = KeypadDKey mapKey Codes.KeycodeKPE = KeypadEKey mapKey Codes.KeycodeKPF = KeypadFKey mapKey Codes.KeycodeKPXor = KeypadXorKey mapKey Codes.KeycodeKPPower = KeypadPowerKey mapKey Codes.KeycodeKPPercent = KeypadPercentKey mapKey Codes.KeycodeKPLess = KeypadLessKey mapKey Codes.KeycodeKPGreater = KeypadGreaterKey mapKey Codes.KeycodeKPAmpersand = KeypadAmpersandKey mapKey Codes.KeycodeKPDblAmpersand = KeypadDblAmpersandKey mapKey Codes.KeycodeKPVerticalBar = KeypadVerticalBarKey mapKey Codes.KeycodeKPDblVerticalBar = KeypadDblVerticalBarKey mapKey Codes.KeycodeKPColon = KeypadColonKey mapKey Codes.KeycodeKPHash = KeypadHashKey mapKey Codes.KeycodeKPSpace = KeypadSpaceKey mapKey Codes.KeycodeKPAt = KeypadAtKey mapKey Codes.KeycodeKPExclam = KeypadExclamKey mapKey Codes.KeycodeKPMemStore = KeypadMemStoreKey mapKey Codes.KeycodeKPMemRecall = KeypadMemRecallKey mapKey Codes.KeycodeKPMemClear = KeypadMemClearKey mapKey Codes.KeycodeKPMemAdd = KeypadMemAddKey mapKey Codes.KeycodeKPMemSubtract = KeypadMemSubtractKey mapKey Codes.KeycodeKPMemMultiply = KeypadMemMultiplyKey mapKey Codes.KeycodeKPMemDivide = KeypadMemDivideKey mapKey Codes.KeycodeKPPlusMinus = KeypadPlusMinusKey mapKey Codes.KeycodeKPClear = KeypadClearKey mapKey Codes.KeycodeKPClearEntry = KeypadClearEntryKey mapKey Codes.KeycodeKPBinary = KeypadBinaryKey mapKey Codes.KeycodeKPOctal = KeypadOctalKey mapKey Codes.KeycodeKPDecimal = KeypadDecimalKey mapKey Codes.KeycodeKPHexadecimal = KeypadHexadecimalKey mapKey Codes.KeycodeLCtrl = LeftCtrlKey mapKey Codes.KeycodeLShift = LeftShiftKey mapKey Codes.KeycodeLAlt = LeftAltKey mapKey Codes.KeycodeLGUI = LeftGUIKey mapKey Codes.KeycodeRCtrl = RightCtrlKey mapKey Codes.KeycodeRShift = RightShiftKey mapKey Codes.KeycodeRAlt = RightAltKey mapKey Codes.KeycodeRGUI = RightGUIKey mapKey Codes.KeycodeMode = ModeKey mapKey Codes.KeycodeAudioNext = AudioNextKey mapKey Codes.KeycodeAudioPrev = AudioPrevKey mapKey Codes.KeycodeAudioStop = AudioStopKey mapKey Codes.KeycodeAudioPlay = AudioPlayKey mapKey Codes.KeycodeAudioMute = AudioMuteKey mapKey Codes.KeycodeMediaSelect = MediaSelectKey mapKey Codes.KeycodeWWW = WWWKey mapKey Codes.KeycodeMail = MailKey mapKey Codes.KeycodeCalculator = CalculatorKey mapKey Codes.KeycodeComputer = ComputerKey mapKey Codes.KeycodeACSearch = ACSearchKey mapKey Codes.KeycodeACHome = ACHomeKey mapKey Codes.KeycodeACBack = ACBackKey mapKey Codes.KeycodeACForward = ACForwardKey mapKey Codes.KeycodeACStop = ACStopKey mapKey Codes.KeycodeACRefresh = ACRefreshKey mapKey Codes.KeycodeACBookmarks = ACBookmarksKey mapKey Codes.KeycodeBrightnessDown = BrightnessDownKey mapKey Codes.KeycodeBrightnessUp = BrightnessUpKey mapKey Codes.KeycodeDisplaySwitch = DisplaySwitchKey mapKey Codes.KeycodeKbdIllumToggle = KeyboardIllumToggleKey mapKey Codes.KeycodeKbdIllumDown = KeyboardIllumDownKey mapKey Codes.KeycodeKbdIllumUp = KeyboardIllumUpKey mapKey Codes.KeycodeEject = EjectKey mapKey Codes.KeycodeSleep = SleepKey mapKey _ = UnknownKey