Key
constKey:object
Defined in: src/modules/input/key-codes.ts:26
Frozen record of common KeyboardEvent.code values, organised by
category. Use Key.ArrowLeft instead of 'ArrowLeft' in
createInput(...) maps to get compile-time typo protection and IDE
autocomplete:
import { createInput, Key } from '@pierre/ecs/modules/input';
createInput({ jump: [Key.Space, Key.ArrowUp, Key.KeyW], left: [Key.ArrowLeft, Key.KeyA], right: [Key.ArrowRight, Key.KeyD],}, [new KeyboardProvider()]);.code values are physical-position-based (US-QWERTY labelled), so
Key.KeyW fires for the key at the physical top-left letter position
on AZERTY, QWERTZ, Dvorak, Colemak, etc. This gives “WASD” ergonomics
on every layout.
Passing raw strings still works — this const is purely an ergonomics layer for the keyboard provider. Custom providers (gamepad, touch, test harnesses) are free to emit any string codes.
Type Declaration
Section titled “Type Declaration”AltLeft
Section titled “AltLeft”
readonlyAltLeft:"AltLeft"='AltLeft'
AltRight
Section titled “AltRight”
readonlyAltRight:"AltRight"='AltRight'
ArrowDown
Section titled “ArrowDown”
readonlyArrowDown:"ArrowDown"='ArrowDown'
ArrowLeft
Section titled “ArrowLeft”
readonlyArrowLeft:"ArrowLeft"='ArrowLeft'
ArrowRight
Section titled “ArrowRight”
readonlyArrowRight:"ArrowRight"='ArrowRight'
ArrowUp
Section titled “ArrowUp”
readonlyArrowUp:"ArrowUp"='ArrowUp'
Backquote
Section titled “Backquote”
readonlyBackquote:"Backquote"='Backquote'
Backslash
Section titled “Backslash”
readonlyBackslash:"Backslash"='Backslash'
Backspace
Section titled “Backspace”
readonlyBackspace:"Backspace"='Backspace'
BracketLeft
Section titled “BracketLeft”
readonlyBracketLeft:"BracketLeft"='BracketLeft'
BracketRight
Section titled “BracketRight”
readonlyBracketRight:"BracketRight"='BracketRight'
readonlyComma:"Comma"='Comma'
ControlLeft
Section titled “ControlLeft”
readonlyControlLeft:"ControlLeft"='ControlLeft'
ControlRight
Section titled “ControlRight”
readonlyControlRight:"ControlRight"='ControlRight'
Delete
Section titled “Delete”
readonlyDelete:"Delete"='Delete'
Digit0
Section titled “Digit0”
readonlyDigit0:"Digit0"='Digit0'
Digit1
Section titled “Digit1”
readonlyDigit1:"Digit1"='Digit1'
Digit2
Section titled “Digit2”
readonlyDigit2:"Digit2"='Digit2'
Digit3
Section titled “Digit3”
readonlyDigit3:"Digit3"='Digit3'
Digit4
Section titled “Digit4”
readonlyDigit4:"Digit4"='Digit4'
Digit5
Section titled “Digit5”
readonlyDigit5:"Digit5"='Digit5'
Digit6
Section titled “Digit6”
readonlyDigit6:"Digit6"='Digit6'
Digit7
Section titled “Digit7”
readonlyDigit7:"Digit7"='Digit7'
Digit8
Section titled “Digit8”
readonlyDigit8:"Digit8"='Digit8'
Digit9
Section titled “Digit9”
readonlyDigit9:"Digit9"='Digit9'
readonlyEnter:"Enter"='Enter'
readonlyEqual:"Equal"='Equal'
Escape
Section titled “Escape”
readonlyEscape:"Escape"='Escape'
readonlyF1:"F1"='F1'
readonlyF10:"F10"='F10'
readonlyF11:"F11"='F11'
readonlyF12:"F12"='F12'
readonlyF2:"F2"='F2'
readonlyF3:"F3"='F3'
readonlyF4:"F4"='F4'
readonlyF5:"F5"='F5'
readonlyF6:"F6"='F6'
readonlyF7:"F7"='F7'
readonlyF8:"F8"='F8'
readonlyF9:"F9"='F9'
readonlyKeyA:"KeyA"='KeyA'
readonlyKeyB:"KeyB"='KeyB'
readonlyKeyC:"KeyC"='KeyC'
readonlyKeyD:"KeyD"='KeyD'
readonlyKeyE:"KeyE"='KeyE'
readonlyKeyF:"KeyF"='KeyF'
readonlyKeyG:"KeyG"='KeyG'
readonlyKeyH:"KeyH"='KeyH'
readonlyKeyI:"KeyI"='KeyI'
readonlyKeyJ:"KeyJ"='KeyJ'
readonlyKeyK:"KeyK"='KeyK'
readonlyKeyL:"KeyL"='KeyL'
readonlyKeyM:"KeyM"='KeyM'
readonlyKeyN:"KeyN"='KeyN'
readonlyKeyO:"KeyO"='KeyO'
readonlyKeyP:"KeyP"='KeyP'
readonlyKeyQ:"KeyQ"='KeyQ'
readonlyKeyR:"KeyR"='KeyR'
readonlyKeyS:"KeyS"='KeyS'
readonlyKeyT:"KeyT"='KeyT'
readonlyKeyU:"KeyU"='KeyU'
readonlyKeyV:"KeyV"='KeyV'
readonlyKeyW:"KeyW"='KeyW'
readonlyKeyX:"KeyX"='KeyX'
readonlyKeyY:"KeyY"='KeyY'
readonlyKeyZ:"KeyZ"='KeyZ'
MetaLeft
Section titled “MetaLeft”
readonlyMetaLeft:"MetaLeft"='MetaLeft'
MetaRight
Section titled “MetaRight”
readonlyMetaRight:"MetaRight"='MetaRight'
readonlyMinus:"Minus"='Minus'
Numpad0
Section titled “Numpad0”
readonlyNumpad0:"Numpad0"='Numpad0'
Numpad1
Section titled “Numpad1”
readonlyNumpad1:"Numpad1"='Numpad1'
Numpad2
Section titled “Numpad2”
readonlyNumpad2:"Numpad2"='Numpad2'
Numpad3
Section titled “Numpad3”
readonlyNumpad3:"Numpad3"='Numpad3'
Numpad4
Section titled “Numpad4”
readonlyNumpad4:"Numpad4"='Numpad4'
Numpad5
Section titled “Numpad5”
readonlyNumpad5:"Numpad5"='Numpad5'
Numpad6
Section titled “Numpad6”
readonlyNumpad6:"Numpad6"='Numpad6'
Numpad7
Section titled “Numpad7”
readonlyNumpad7:"Numpad7"='Numpad7'
Numpad8
Section titled “Numpad8”
readonlyNumpad8:"Numpad8"='Numpad8'
Numpad9
Section titled “Numpad9”
readonlyNumpad9:"Numpad9"='Numpad9'
NumpadAdd
Section titled “NumpadAdd”
readonlyNumpadAdd:"NumpadAdd"='NumpadAdd'
NumpadDecimal
Section titled “NumpadDecimal”
readonlyNumpadDecimal:"NumpadDecimal"='NumpadDecimal'
NumpadDivide
Section titled “NumpadDivide”
readonlyNumpadDivide:"NumpadDivide"='NumpadDivide'
NumpadEnter
Section titled “NumpadEnter”
readonlyNumpadEnter:"NumpadEnter"='NumpadEnter'
NumpadMultiply
Section titled “NumpadMultiply”
readonlyNumpadMultiply:"NumpadMultiply"='NumpadMultiply'
NumpadSubtract
Section titled “NumpadSubtract”
readonlyNumpadSubtract:"NumpadSubtract"='NumpadSubtract'
Period
Section titled “Period”
readonlyPeriod:"Period"='Period'
readonlyQuote:"Quote"='Quote'
Semicolon
Section titled “Semicolon”
readonlySemicolon:"Semicolon"='Semicolon'
ShiftLeft
Section titled “ShiftLeft”
readonlyShiftLeft:"ShiftLeft"='ShiftLeft'
ShiftRight
Section titled “ShiftRight”
readonlyShiftRight:"ShiftRight"='ShiftRight'
readonlySlash:"Slash"='Slash'
readonlySpace:"Space"='Space'
readonlyTab:"Tab"='Tab'