kmonad
Copyright(c) David Janssen 2019
LicenseMIT
Maintainerjanssen.dhj@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

KMonad.Keyboard.Keycode

Description

Keycodes are represented as a large enum lining up the keycodes defined in the Linux headers.

Synopsis

The core Keycode type

Keycodes are defined as a large ADT that mimics the keycodes from the Linux headers: https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h.

Anywhere there are missing regions in the Linux headers, we've defined MissingXX values for the ADT.

Calling toEnum on a Linux keycode value should produce the corresponding Keycode value and vice-versa.

data Keycode Source #

The Keycode datatype, as an Enum of all the values a Keycode can take.

Constructors

KeyReserved 
KeyEsc 
Key1 
Key2 
Key3 
Key4 
Key5 
Key6 
Key7 
Key8 
Key9 
Key0 
KeyMinus 
KeyEqual 
KeyBackspace 
KeyTab 
KeyQ 
KeyW 
KeyE 
KeyR 
KeyT 
KeyY 
KeyU 
KeyI 
KeyO 
KeyP 
KeyLeftBrace 
KeyRightBrace 
KeyEnter 
KeyLeftCtrl 
KeyA 
KeyS 
KeyD 
KeyF 
KeyG 
KeyH 
KeyJ 
KeyK 
KeyL 
KeySemicolon 
KeyApostrophe 
KeyGrave 
KeyLeftShift 
KeyBackslash 
KeyZ 
KeyX 
KeyC 
KeyV 
KeyB 
KeyN 
KeyM 
KeyComma 
KeyDot 
KeySlash 
KeyRightShift 
KeyKpAsterisk 
KeyLeftAlt 
KeySpace 
KeyCapsLock 
KeyF1 
KeyF2 
KeyF3 
KeyF4 
KeyF5 
KeyF6 
KeyF7 
KeyF8 
KeyF9 
KeyF10 
KeyNumLock 
KeyScrollLock 
KeyKp7 
KeyKp8 
KeyKp9 
KeyKpMinus 
KeyKp4 
KeyKp5 
KeyKp6 
KeyKpPlus 
KeyKp1 
KeyKp2 
KeyKp3 
KeyKp0 
KeyKpDot 
Missing84 
KeyZenkakuHankaku 
Key102nd 
KeyF11 
KeyF12 
KeyRo 
KeyKatakana 
KeyHiragana 
KeyHenkan 
KeyKatakanaHiragana 
KeyMuhenkan 
KeyKpjpcomma 
KeyKpEnter 
KeyRightCtrl 
KeyKpSlash 
KeySysRq 
KeyRightAlt 
KeyLinefeed 
KeyHome 
KeyUp 
KeyPageUp 
KeyLeft 
KeyRight 
KeyEnd 
KeyDown 
KeyPageDown 
KeyInsert 
KeyDelete 
KeyMacro 
KeyMute 
KeyVolumeDown 
KeyVolumeUp 
KeyPower 
KeyKpEqual 
KeyKpPlusMinus 
KeyPause 
KeyScale 
KeyKpComma 
KeyHangeul 
KeyHanja 
KeyYen 
KeyLeftMeta 
KeyRightMeta 
KeyCompose 
KeyStop 
KeyAgain 
KeyProps 
KeyUndo 
KeyFront 
KeyCopy 
KeyOpen 
KeyPaste 
KeyFind 
KeyCut 
KeyHelp 
KeyMenu 
KeyCalc 
KeySetup 
KeySleep 
KeyWakeUp 
KeyFile 
KeySendFile 
KeyDeleteFile 
KeyXfer 
KeyProg1 
KeyProg2 
KeyWww 
KeyMsDos 
KeyCoffee 
KeyDirection 
KeyCycleWindows 
KeyMail 
KeyBookmarks 
KeyComputer 
KeyBack 
KeyForward 
KeyCloseCd 
KeyEjectCd 
KeyEjectCloseCd 
KeyNextSong 
KeyPlayPause 
KeyPreviousSong 
KeyStopCd 
KeyRecord 
KeyRewind 
KeyPhone 
KeyIso 
KeyConfig 
KeyHomepage 
KeyRefresh 
KeyExit 
KeyMove 
KeyEdit 
KeyScrollUp 
KeyScrollDown 
KeyKpLeftParen 
KeyKpRightParen 
KeyNew 
KeyRedo 
KeyF13 
KeyF14 
KeyF15 
KeyF16 
KeyF17 
KeyF18 
KeyF19 
KeyF20 
KeyF21 
KeyF22 
KeyF23 
KeyF24 
Missing195 
Missing196 
Missing197 
Missing198 
Missing199 
KeyPlayCd 
KeyPauseCd 
KeyProg3 
KeyProg4 
KeyDashboard 
KeySuspend 
KeyClose 
KeyPlay 
KeyFastForward 
KeyBassBoost 
KeyPrint 
KeyHp 
KeyCamera 
KeySound 
KeyQuestion 
KeyEmail 
KeyChat 
KeySearch 
KeyConnect 
KeyFinance 
KeySport 
KeyShop 
KeyAlterase 
KeyCancel 
KeyBrightnessDown 
KeyBrightnessUp 
KeyMedia 
KeySwitchVideoMode 
KeyKbdIllumToggle 
KeyKbdIllumDown 
KeyKbdIllumUp 
KeySend 
KeyReply 
KeyForwardMail 
KeySave 
KeyDocuments 
KeyBattery 
KeyBluetooth 
KeyWlan 
KeyUwb 
KeyUnknown 
KeyVideoNext 
KeyVideoPrev 
KeyBrightnessCycle 
KeyBrightnessZero 
KeyDisplayOff 
KeyWimax 
KeyRfkill 
KeyMicmute 
Missing249 
Missing250 
Missing251 
Missing252 
Missing253 
Missing254 
Missing255 
Btn0 
Btn1 
Btn2 
Btn3 
Btn4 
Btn5 
Btn6 
Btn7 
Btn8 
Btn9 
Missing0x10a 
Missing0x10b 
Missing0x10c 
Missing0x10d 
Missing0x10e 
Missing0x10f 
BtnLeft 
BtnRight 
BtnMiddle 
BtnSide 
BtnExtra 
BtnForward 
BtnBack 
BtnTask 
Missing0x118 
Missing0x119 
Missing0x11a 
Missing0x11b 
Missing0x11c 
Missing0x11d 
Missing0x11e 
Missing0x11f 
BtnJoystick 
BtnThumb 
BtnThumb2 
BtnTop 
BtnTop2 
BtnPinkie 
BtnBase 
BtnBase2 
BtnBase3 
BtnBase4 
BtnBase5 
BtnBase6 
Missing0x12c 
Missing0x12d 
Missing0x12e 
BtnDead 
BtnGamepad 
BtnB 
BtnC 
BtnX 
BtnY 
BtnZ 
BtnTL 
BtnTR 
BtnTL2 
BtnTR2 
BtnSelect 
BtnStart 
BtnMode 
BtnThumbL 
BtnThumbR 
Missing0x13f 
BtnDigi 
BtnToolRubber 
BtnToolBrush 
BtnToolPencil 
BtnToolAirbrush 
BtnToolFinger 
BtnToolMouse 
BtnToolLens 
BtnToolQuinttap 
BtnStylus3 
BtnTouch 
BtnStylus 
BtnStylus2 
BtnToolDoubletap 
BtnToolTripletap 
BtnToolQuadtap 
BtnGearDown 
BtnGearUp 
Missing0x152 
Missing0x153 
Missing0x154 
Missing0x155 
Missing0x156 
Missing0x157 
Missing0x158 
Missing0x159 
Missing0x15a 
Missing0x15b 
Missing0x15c 
Missing0x15d 
Missing0x15e 
Missing0x15f 
KeyOk 
KeySelect 
KeyGoTo 
KeyClear 
KeyPower2 
KeyOption 
KeyInfo 
KeyTime 
KeyVendor 
KeyArchive 
KeyProgram 
KeyChannel 
KeyFavorites 
KeyEpg 
KeyPvr 
KeyMhp 
KeyLanguage 
KeyTitle 
KeySubtitle 
KeyAngle 
KeyZoom 
KeyMode 
KeyKeyboard 
KeyScreen 
KeyPc 
KeyTv 
KeyTv2 
KeyVcr 
KeyVcr2 
KeySat 
KeySat2 
KeyCd 
KeyTape 
KeyRadio 
KeyTuner 
KeyPlayer 
KeyText 
KeyDvd 
KeyAux 
KeyMp3 
KeyAudio 
KeyVideo 
KeyDirectory 
KeyList 
KeyMemo 
KeyCalendar 
KeyRed 
KeyGreen 
KeyYellow 
KeyBlue 
KeyChannelUp 
KeyChannelDown 
KeyFirst 
KeyLast 
KeyAb 
KeyNextTask 
KeyRestart 
KeySlow 
KeyShuffle 
KeyBreak 
KeyPreviousTask 
KeyDigits 
KeyTeen 
KeyTwen 
KeyVideoPhone 
KeyGames 
KeyZoomIn 
KeyZoomOut 
KeyZoomReset 
KeyWordProcessor 
KeyEditor 
KeySpreadSheet 
KeyGraphicsEditor 
KeyPresentation 
KeyDatabase 
KeyNews 
KeyVoicemail 
KeyAddressBook 
KeyMessenger 
KeyBrightnessToggle 
KeySpellCheck 
KeyLogoff 
KeyDollar 
KeyEuro 
KeyFrameBack 
KeyFrameForward 
KeyContextMenu 
KeyMediaRepeat 
Key10channelsUp 
Key10channelsDown 
KeyImages 
Missing0x1bb 
KeyNotificationCenter 
KeyPickupPhone 
KeyHangupPhone 
Missing0x1bf 
KeyDelEol 
KeyDelEos 
KeyInsLine 
KeyDelLine 
Missing0x1c4 
Missing0x1c5 
Missing0x1c6 
Missing0x1c7 
Missing0x1c8 
Missing0x1c9 
Missing0x1ca 
Missing0x1cb 
Missing0x1cc 
Missing0x1cd 
Missing0x1ce 
Missing0x1cf 
KeyFn 
KeyFnEsc 
KeyFnF1 
KeyFnF2 
KeyFnF3 
KeyFnF4 
KeyFnF5 
KeyFnF6 
KeyFnF7 
KeyFnF8 
KeyFnF9 
KeyFnF10 
KeyFnF11 
KeyFnF12 
KeyFn1 
KeyFn2 
KeyFnD 
KeyFnE 
KeyFnF 
KeyFnS 
KeyFnB 
KeyFnRightShift 
Missing0x1e6 
Missing0x1e7 
Missing0x1e8 
Missing0x1e9 
Missing0x1ea 
Missing0x1eb 
Missing0x1ec 
Missing0x1ed 
Missing0x1ee 
Missing0x1ef 
Missing0x1f0 
KeyBrlDot1 
KeyBrlDot2 
KeyBrlDot3 
KeyBrlDot4 
KeyBrlDot5 
KeyBrlDot6 
KeyBrlDot7 
KeyBrlDot8 
KeyBrlDot9 
KeyBrlDot10 
Missing0x1fb 
Missing0x1fc 
Missing0x1fd 
Missing0x1fe 
Missing0x1ff 
KeyNumeric0 
KeyNumeric1 
KeyNumeric2 
KeyNumeric3 
KeyNumeric4 
KeyNumeric5 
KeyNumeric6 
KeyNumeric7 
KeyNumeric8 
KeyNumeric9 
KeyNumericStar 
KeyNumericPound 
KeyNumericA 
KeyNumericB 
KeyNumericC 
KeyNumericD 
KeyCameraFocus 
KeyWpsButton 
KeyTouchpadToggle 
KeyTouchpadOn 
KeyTouchpadOff 
KeyCameraZoomIn 
KeyCameraZoomOut 
KeyCameraUp 
KeyCameraDown 
KeyCameraLeft 
KeyCameraRight 
KeyAttendantOn 
KeyAttendantOff 
KeyAttendantToggle 
KeyLightsToggle 
Missing0x21f 
BtnDpadUp 
BtnDpadDown 
BtnDpadLeft 
BtnDpadRight 
Missing0x224 
Missing0x225 
Missing0x226 
Missing0x227 
Missing0x228 
Missing0x229 
Missing0x22a 
Missing0x22b 
Missing0x22c 
Missing0x22d 
Missing0x22e 
Missing0x22f 
KeyAlsToggle 
KeyRotateLockToggle 
KeyRefreshRateToggle 
Missing0x233 
Missing0x234 
Missing0x235 
Missing0x236 
Missing0x237 
Missing0x238 
Missing0x239 
Missing0x23a 
Missing0x23b 
Missing0x23c 
Missing0x23d 
Missing0x23e 
Missing0x23f 
KeyButtonconfig 
KeyTaskmanager 
KeyJournal 
KeyControlPanel 
KeyAppSelect 
KeyScreenSaver 
KeyVoicecommand 
KeyAssistant 
KeyKbdLayoutNext 
KeyEmojiPicker 
KeyDictate 
KeyCameraAccessEnable 
KeyCameraAccessDisable 
KeyCameraAccessToggle 
KeyAccessibility 
KeyDoNotDisturb 
KeyBrightnessMin 
KeyBrightnessMax 
Missing0x252 
Missing0x253 
Missing0x254 
Missing0x255 
Missing0x256 
Missing0x257 
Missing0x258 
Missing0x259 
Missing0x25a 
Missing0x25b 
Missing0x25c 
Missing0x25d 
Missing0x25e 
Missing0x25f 
KeyKbdInputAssistPrev 
KeyKbdInputAssistNext 
KeyKbdInputAssistPrevgroup 
KeyKbdInputAssistNextgroup 
KeyKbdInputAssistAccept 
KeyKbdInputAssistCancel 
KeyRightUp 
KeyRightDown 
KeyLeftUp 
KeyLeftDown 
KeyRootMenu 
KeyMediaTopMenu 
KeyNumeric11 
KeyNumeric12 
KeyAudioDesc 
Key3dMode 
KeyNextFavorite 
KeyStopRecord 
KeyPauseRecord 
KeyVod 
KeyUnmute 
KeyFastreverse 
KeySlowreverse 
KeyData 
KeyOnScreenKeyboard 
KeyPrivacyScreenToggle 
KeySelectiveScreenshot 
KeyNextElement 
KeyPreviousElement 
KeyAutopilotEngageToggle 
KeyMarkWaypoint 
KeySos 
KeyNavChart 
KeyFishingChart 
KeySingleRangeRadar 
KeyDualRangeRadar 
KeyRadarOverlay 
KeyTraditionalSonar 
KeyClearvuSonar 
KeySidevuSonar 
KeyNavInfo 
KeyBrightnessMenu 
Missing0x28a 
Missing0x28b 
Missing0x28c 
Missing0x28d 
Missing0x28e 
Missing0x28f 
KeyMacro1 
KeyMacro2 
KeyMacro3 
KeyMacro4 
KeyMacro5 
KeyMacro6 
KeyMacro7 
KeyMacro8 
KeyMacro9 
KeyMacro10 
KeyMacro11 
KeyMacro12 
KeyMacro13 
KeyMacro14 
KeyMacro15 
KeyMacro16 
KeyMacro17 
KeyMacro18 
KeyMacro19 
KeyMacro20 
KeyMacro21 
KeyMacro22 
KeyMacro23 
KeyMacro24 
KeyMacro25 
KeyMacro26 
KeyMacro27 
KeyMacro28 
KeyMacro29 
KeyMacro30 
Missing0x2ae 
Missing0x2af 
KeyMacroRecordStart 
KeyMacroRecordStop 
KeyMacroPresetCycle 
KeyMacroPreset1 
KeyMacroPreset2 
KeyMacroPreset3 
Missing0x2b6 
Missing0x2b7 
KeyKbdLcdMenu1 
KeyKbdLcdMenu2 
KeyKbdLcdMenu3 
KeyKbdLcdMenu4 
KeyKbdLcdMenu5 
Missing0x2bd 
Missing0x2be 
Missing0x2bf 
BtnTriggerHappy 
BtnTriggerHappy2 
BtnTriggerHappy3 
BtnTriggerHappy4 
BtnTriggerHappy5 
BtnTriggerHappy6 
BtnTriggerHappy7 
BtnTriggerHappy8 
BtnTriggerHappy9 
BtnTriggerHappy10 
BtnTriggerHappy11 
BtnTriggerHappy12 
BtnTriggerHappy13 
BtnTriggerHappy14 
BtnTriggerHappy15 
BtnTriggerHappy16 
BtnTriggerHappy17 
BtnTriggerHappy18 
BtnTriggerHappy19 
BtnTriggerHappy20 
BtnTriggerHappy21 
BtnTriggerHappy22 
BtnTriggerHappy23 
BtnTriggerHappy24 
BtnTriggerHappy25 
BtnTriggerHappy26 
BtnTriggerHappy27 
BtnTriggerHappy28 
BtnTriggerHappy29 
BtnTriggerHappy30 
BtnTriggerHappy31 
BtnTriggerHappy32 
BtnTriggerHappy33 
BtnTriggerHappy34 
BtnTriggerHappy35 
BtnTriggerHappy36 
BtnTriggerHappy37 
BtnTriggerHappy38 
BtnTriggerHappy39 
BtnTriggerHappy40 
Missing0x2e8 
Missing0x2e9 
Missing0x2ea 
Missing0x2eb 
Missing0x2ec 
Missing0x2ed 
Missing0x2ee 
Missing0x2ef 
Missing0x2f0 
Missing0x2f1 
Missing0x2f2 
Missing0x2f3 
Missing0x2f4 
Missing0x2f5 
Missing0x2f6 
Missing0x2f7 
Missing0x2f8 
Missing0x2f9 
Missing0x2fa 
Missing0x2fb 
Missing0x2fc 
Missing0x2fd 
Missing0x2fe 
KeyLaunchpad 
KeyMissionCtrl 
KeySpotlight 
KeyDictation 

Instances

Instances details
Data Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keycode -> c Keycode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keycode #

toConstr :: Keycode -> Constr #

dataTypeOf :: Keycode -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Keycode) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keycode) #

gmapT :: (forall b. Data b => b -> b) -> Keycode -> Keycode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keycode -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keycode -> r #

gmapQ :: (forall d. Data d => d -> u) -> Keycode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Keycode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode #

Bounded Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Enum Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Generic Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Associated Types

type Rep Keycode :: Type -> Type #

Methods

from :: Keycode -> Rep Keycode x #

to :: Rep Keycode x -> Keycode #

Show Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Eq Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Methods

(==) :: Keycode -> Keycode -> Bool #

(/=) :: Keycode -> Keycode -> Bool #

Ord Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Hashable Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

Methods

hashWithSalt :: Int -> Keycode -> Int #

hash :: Keycode -> Int #

Display Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

type Rep Keycode Source # 
Instance details

Defined in KMonad.Keyboard.Keycode

type Rep Keycode = D1 ('MetaData "Keycode" "KMonad.Keyboard.Keycode" "kmonad-0.4.4-inplace" 'False) (((((((((C1 ('MetaCons "KeyReserved" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyEsc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Key2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Key3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key4" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Key5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Key6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key7" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Key8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Key9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyMinus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyEqual" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBackspace" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyTab" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyQ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyW" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyE" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyT" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyY" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyI" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyO" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyP" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLeftBrace" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyRightBrace" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyEnter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLeftCtrl" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyA" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyD" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyF" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyG" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyH" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyJ" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyK" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySemicolon" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyApostrophe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyGrave" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyLeftShift" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBackslash" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyZ" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyX" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyV" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyB" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyN" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyM" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyComma" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDot" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySlash" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyRightShift" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKpAsterisk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLeftAlt" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySpace" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCapsLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF1" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyF2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF4" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyF5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF7" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyF8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF10" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyNumLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyScrollLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKp7" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyKp8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKp9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKpMinus" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyKp4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKp5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKp6" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyKpPlus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKp1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKp2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyKp3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKp0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKpDot" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing84" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyZenkakuHankaku" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key102nd" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyF11" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF12" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRo" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyKatakana" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyHiragana" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyHenkan" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyKatakanaHiragana" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMuhenkan" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKpjpcomma" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "KeyKpEnter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRightCtrl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKpSlash" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySysRq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRightAlt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLinefeed" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyHome" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPageUp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEnd" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPageDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyInsert" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyDelete" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMute" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyVolumeDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVolumeUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPower" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyKpEqual" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKpPlusMinus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPause" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyScale" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKpComma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyHangeul" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyHanja" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyYen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLeftMeta" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyRightMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCompose" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyStop" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyAgain" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyProps" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyUndo" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyFront" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCopy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyOpen" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyPaste" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFind" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCut" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyHelp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMenu" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCalc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySetup" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySleep" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyWakeUp" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyFile" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySendFile" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDeleteFile" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyXfer" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyProg1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyProg2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyWww" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMsDos" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCoffee" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyDirection" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCycleWindows" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMail" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyBookmarks" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyComputer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBack" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyForward" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCloseCd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEjectCd" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyEjectCloseCd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNextSong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPlayPause" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyPreviousSong" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyStopCd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRecord" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyRewind" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPhone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyIso" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyConfig" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyHomepage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRefresh" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyExit" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMove" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEdit" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyScrollUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyScrollDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKpLeftParen" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyKpRightParen" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNew" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRedo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyF13" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF14" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF15" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyF16" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF17" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF18" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyF19" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF20" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF21" 'PrefixI 'False) (U1 :: Type -> Type))))))))) :+: (((((((C1 ('MetaCons "KeyF22" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyF23" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyF24" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing195" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing196" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing197" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing198" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing199" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPlayCd" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyPauseCd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyProg3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyProg4" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyDashboard" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySuspend" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyClose" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyPlay" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFastForward" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBassBoost" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyPrint" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyHp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCamera" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySound" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyQuestion" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEmail" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyChat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySearch" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyConnect" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFinance" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySport" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyShop" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyAlterase" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCancel" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrightnessDown" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyBrightnessUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMedia" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySwitchVideoMode" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyKbdIllumToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKbdIllumDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKbdIllumUp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySend" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyReply" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyForwardMail" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeySave" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDocuments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBattery" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyBluetooth" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyWlan" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyUwb" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyUnknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVideoNext" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyVideoPrev" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyBrightnessCycle" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrightnessZero" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDisplayOff" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyWimax" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRfkill" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMicmute" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing249" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing250" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing251" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing252" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing253" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing254" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing255" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Btn0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Btn1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Btn2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Btn3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Btn4" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Btn5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Btn6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Btn7" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Btn8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Btn9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x10a" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x10b" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x10c" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x10d" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x10e" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x10f" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnLeft" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnMiddle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnSide" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BtnExtra" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnForward" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnBack" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTask" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x118" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x119" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x11a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x11b" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x11c" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x11d" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x11e" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x11f" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "BtnJoystick" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnThumb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnThumb2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTop" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTop2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnPinkie" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnBase" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnBase2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnBase3" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnBase4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnBase5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnBase6" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x12c" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x12d" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x12e" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnDead" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnGamepad" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnB" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnX" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnY" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnZ" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTR" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "BtnTL2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTR2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnSelect" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnStart" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnThumbL" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnThumbR" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x13f" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnDigi" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnToolRubber" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnToolBrush" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnToolPencil" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BtnToolAirbrush" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnToolFinger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnToolMouse" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnToolLens" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnToolQuinttap" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnStylus3" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnTouch" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnStylus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnStylus2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnToolDoubletap" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnToolTripletap" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnToolQuadtap" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "BtnGearDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnGearUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x152" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x153" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x154" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x155" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x156" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x157" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x158" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x159" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x15a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x15b" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x15c" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x15d" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x15e" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x15f" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyOk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySelect" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyGoTo" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyClear" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPower2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyOption" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTime" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyVendor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyArchive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyProgram" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyChannel" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFavorites" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEpg" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyPvr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMhp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLanguage" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyTitle" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySubtitle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAngle" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyZoom" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKeyboard" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyScreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTv" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyTv2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVcr" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyVcr2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KeySat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySat2" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KeyCd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTape" 'PrefixI 'False) (U1 :: Type -> Type)))))))))) :+: ((((((((C1 ('MetaCons "KeyRadio" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyTuner" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyPlayer" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyText" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDvd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAux" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMp3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyAudio" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyVideo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyDirectory" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyList" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMemo" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyCalendar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyGreen" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyYellow" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBlue" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyChannelUp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyChannelDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFirst" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLast" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyAb" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNextTask" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRestart" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeySlow" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyShuffle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBreak" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyPreviousTask" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDigits" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTeen" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyTwen" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVideoPhone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyGames" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyZoomIn" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyZoomOut" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyZoomReset" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyWordProcessor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyEditor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySpreadSheet" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyGraphicsEditor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPresentation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDatabase" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyNews" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVoicemail" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAddressBook" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMessenger" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrightnessToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySpellCheck" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyLogoff" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDollar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyEuro" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFrameBack" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFrameForward" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyContextMenu" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMediaRepeat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Key10channelsUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Key10channelsDown" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyImages" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1bb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNotificationCenter" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyPickupPhone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyHangupPhone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1bf" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyDelEol" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDelEos" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyInsLine" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyDelLine" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1c4" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1c5" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x1c6" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1c7" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1c8" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Missing0x1c9" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1ca" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1cb" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x1cc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1cd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1ce" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x1cf" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnEsc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFnF1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnF2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnF3" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyFnF4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnF5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnF6" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFnF7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnF8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnF9" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyFnF10" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnF11" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnF12" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFn1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFn2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnD" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "KeyFnE" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnF" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyFnS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFnB" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyFnRightShift" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1e6" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x1e7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1e8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1e9" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x1ea" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1eb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1ec" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x1ed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1ee" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1ef" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x1f0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrlDot1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrlDot2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyBrlDot3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrlDot4" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrlDot5" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyBrlDot6" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrlDot7" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrlDot8" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyBrlDot9" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyBrlDot10" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1fb" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x1fc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x1fd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x1fe" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x1ff" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumeric0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNumeric1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyNumeric2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumeric3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNumeric4" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyNumeric5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumeric6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNumeric7" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyNumeric8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumeric9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNumericStar" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyNumericPound" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumericA" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNumericB" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyNumericC" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumericD" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCameraFocus" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyWpsButton" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyTouchpadToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTouchpadOn" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyTouchpadOff" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCameraZoomIn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCameraZoomOut" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyCameraUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCameraDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCameraLeft" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyCameraRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyAttendantOn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAttendantOff" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyAttendantToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyLightsToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x21f" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnDpadUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnDpadDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnDpadLeft" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnDpadRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x224" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x225" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x226" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x227" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x228" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Missing0x229" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x22a" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x22b" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x22c" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x22d" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x22e" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x22f" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyAlsToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyRotateLockToggle" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyRefreshRateToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x233" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x234" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x235" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x236" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x237" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x238" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x239" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x23a" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x23b" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x23c" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x23d" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Missing0x23e" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x23f" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KeyButtonconfig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyTaskmanager" 'PrefixI 'False) (U1 :: Type -> Type))))))))) :+: (((((((C1 ('MetaCons "KeyJournal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyControlPanel" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAppSelect" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyScreenSaver" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVoicecommand" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAssistant" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyKbdLayoutNext" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyEmojiPicker" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDictate" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyCameraAccessEnable" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyCameraAccessDisable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyCameraAccessToggle" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyAccessibility" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyDoNotDisturb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrightnessMin" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyBrightnessMax" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x252" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x253" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x254" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x255" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x256" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x257" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x258" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x259" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Missing0x25a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x25b" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x25c" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x25d" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x25e" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x25f" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyKbdInputAssistPrev" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKbdInputAssistNext" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKbdInputAssistPrevgroup" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyKbdInputAssistNextgroup" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKbdInputAssistAccept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKbdInputAssistCancel" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyRightUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRightDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyLeftUp" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyLeftDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyRootMenu" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMediaTopMenu" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyNumeric11" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNumeric12" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAudioDesc" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Key3dMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNextFavorite" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyStopRecord" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "KeyPauseRecord" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyVod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyUnmute" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFastreverse" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySlowreverse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyData" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyOnScreenKeyboard" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPrivacyScreenToggle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeySelectiveScreenshot" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyNextElement" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyPreviousElement" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyAutopilotEngageToggle" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyMarkWaypoint" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySos" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyNavChart" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyFishingChart" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeySingleRangeRadar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDualRangeRadar" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyRadarOverlay" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyTraditionalSonar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyClearvuSonar" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeySidevuSonar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyNavInfo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyBrightnessMenu" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Missing0x28a" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x28b" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x28c" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x28d" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x28e" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x28f" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMacro1" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro3" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacro4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro6" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KeyMacro7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro9" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacro10" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro11" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro12" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMacro13" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro14" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro15" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacro16" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro17" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro18" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "KeyMacro19" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro20" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro21" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacro22" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro23" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro24" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMacro25" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro26" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro27" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacro28" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacro29" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacro30" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x2ae" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2af" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacroRecordStart" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KeyMacroRecordStop" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacroPresetCycle" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMacroPreset1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KeyMacroPreset2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyMacroPreset3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2b6" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x2b7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKbdLcdMenu1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKbdLcdMenu2" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KeyKbdLcdMenu3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KeyKbdLcdMenu4" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyKbdLcdMenu5" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x2bd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2be" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2bf" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnTriggerHappy" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy3" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy4" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy6" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BtnTriggerHappy7" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy9" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy10" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy11" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy12" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnTriggerHappy13" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy14" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy15" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy16" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy17" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy18" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "BtnTriggerHappy19" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy20" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy21" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy22" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy23" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy24" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnTriggerHappy25" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy26" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy27" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy28" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy29" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy30" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "BtnTriggerHappy31" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy32" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy33" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy34" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy35" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy36" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "BtnTriggerHappy37" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BtnTriggerHappy38" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BtnTriggerHappy39" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "BtnTriggerHappy40" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2e8" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2e9" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "Missing0x2ea" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2eb" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2ec" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x2ed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2ee" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2ef" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x2f0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2f1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2f2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x2f3" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2f4" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2f5" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Missing0x2f6" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2f7" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2f8" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Missing0x2f9" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2fa" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2fb" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Missing0x2fc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Missing0x2fd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Missing0x2fe" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KeyLaunchpad" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyMissionCtrl" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KeySpotlight" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeyDictation" 'PrefixI 'False) (U1 :: Type -> Type)))))))))))

Naming utilities to refer to Keycodes

 

keyNames :: MultiMap Keycode Text Source #

A collection of Keycode to Text mappings