/**
 * Constantes de teclado. Éste módulo contiene una lista de todos los códigos
 * de tecla que se pueden usar con los métodos `isPressed`, `isReleased`,
 * `pressed`, `released` y `stateOf` del módulo `keyboard`.
 *
 * @module engine/input/key
 */

/**
 * @const {number} - Retroceso
 * @default
 */
export const BACKSPACE = 8;

/**
 * @const {number} - Tabulador
 * @default
 */
export const TAB = 9;

/**
 * @const {number} - Intro
 * @default
 */
export const ENTER = 13;

/**
 * @const {number} - Mayúsculas
 * @default
 */
export const SHIFT = 16;

/**
 * @const {number} - Control
 * @default
 */
export const CTRL = 17;

/**
 * @const {number} - Alt/Alt Gr
 * @default
 */
export const ALT = 18;

/**
 * @const {number} - Pause/Break
 * @default
 */
export const PAUSE = 19;

/**
 * @const {number} - Bloq. Mayús.
 * @default
 */
export const CAPS_LOCK = 20;

/**
 * @const {number} - Escape
 * @default
 */
export const ESCAPE = 27;

/**
 * @const {number} - Espacio
 * @default
 */
export const SPACE = 32;

/**
 * @const {number} - Re. Pág.
 * @default
 */
export const PAGE_UP = 33;

/**
 * @const {number} - Av. Pág.
 * @default
 */
export const PAGE_DOWN = 34;

/**
 * @const {number} - Fin
 * @default
 */
export const END = 35;

/**
 * @const {number} - Inicio
 * @default
 */
export const HOME = 36;

/**
 * @const {number} - Izquierda
 * @default
 */
export const LEFT = 37;

/**
 * @const {number} - Arriba
 * @default
 */
export const UP = 38;

/**
 * @const {number} - Derecha
 * @default
 */
export const RIGHT = 39;

/**
 * @const {number} - Abajo
 * @default
 */
export const DOWN = 40;

/**
 * @const {number} - Insertar
 * @default
 */
export const INSERT = 45;

/**
 * @const {number} - Borrar
 * @default
 */
export const DELETE = 46;

/**
 * @const {number} - Número 0
 * @default
 */
export const NUM_0 = 48;

/**
 * @const {number} - Número 1
 * @default
 */
export const NUM_1 = 49;

/**
 * @const {number} - Número 2
 * @default
 */
export const NUM_2 = 50;

/**
 * @const {number} - Número 3
 * @default
 */
export const NUM_3 = 51;

/**
 * @const {number} - Número 4
 * @default
 */
export const NUM_4 = 52;

/**
 * @const {number} - Número 5
 * @default
 */
export const NUM_5 = 53;

/**
 * @const {number} - Número 6
 * @default
 */
export const NUM_6 = 54;

/**
 * @const {number} - Número 7
 * @default
 */
export const NUM_7 = 55;

/**
 * @const {number} - Número 8
 * @default
 */
export const NUM_8 = 56;

/**
 * @const {number} - Número 9
 * @default
 */
export const NUM_9 = 57;

/**
 * @const {number}
 * @default
 */
export const A = 65;

/**
 * @const {number}
 * @default
 */
export const B = 66;

/**
 * @const {number}
 * @default
 */
export const C = 67;

/**
 * @const {number}
 * @default
 */
export const D = 68;

/**
 * @const {number}
 * @default
 */
export const E = 69;

/**
 * @const {number}
 * @default
 */
export const F = 70;

/**
 * @const {number}
 * @default
 */
export const G = 71;

/**
 * @const {number}
 * @default
 */
export const H = 72;

/**
 * @const {number}
 * @default
 */
export const I = 73;

/**
 * @const {number}
 * @default
 */
export const J = 74;

/**
 * @const {number}
 * @default
 */
export const K = 75;

/**
 * @const {number}
 * @default
 */
export const L = 76;

/**
 * @const {number}
 * @default
 */
export const M = 77;

/**
 * @const {number}
 * @default
 */
export const N = 78;

/**
 * @const {number}
 * @default
 */
export const O = 79;

/**
 * @const {number}
 * @default
 */
export const P = 80;

/**
 * @const {number}
 * @default
 */
export const Q = 81;

/**
 * @const {number}
 * @default
 */
export const R = 82;

/**
 * @const {number}
 * @default
 */
export const S = 83;

/**
 * @const {number}
 * @default
 */
export const T = 84;

/**
 * @const {number}
 * @default
 */
export const U = 85;

/**
 * @const {number}
 * @default
 */
export const V = 86;

/**
 * @const {number}
 * @default
 */
export const W = 87;

/**
 * @const {number}
 * @default
 */
export const X = 88;

/**
 * @const {number}
 * @default
 */
export const Y = 89;

/**
 * @const {number}
 * @default
 */
export const Z = 90;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_0 = 96;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_1 = 97;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_2 = 98;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_3 = 99;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_4 = 100;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_5 = 101;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_6 = 102;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_7 = 103;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_8 = 104;

/**
 * @const {number}
 * @default
 */
export const NUMPAD_9 = 105;

/**
 * @const {number}
 * @default
 */
export const MULTIPLY = 106;

/**
 * @const {number}
 * @default
 */
export const ADD = 107;

/**
 * @const {number}
 * @default
 */
export const SUBTRACT = 109;

/**
 * @const {number}
 * @default
 */
export const DECIMAL_POINT = 110;

/**
 * @const {number}
 * @default
 */
export const DIVIDE = 111;

/**
 * @const {number}
 * @default
 */
export const F1 = 112;

/**
 * @const {number}
 * @default
 */
export const F2 = 113;

/**
 * @const {number}
 * @default
 */
export const F3 = 114;

/**
 * @const {number}
 * @default
 */
export const F4 = 115;

/**
 * @const {number}
 * @default
 */
export const F5 = 116;

/**
 * @const {number}
 * @default
 */
export const F6 = 117;

/**
 * @const {number}
 * @default
 */
export const F7 = 118;

/**
 * @const {number}
 * @default
 */
export const F8 = 119;

/**
 * @const {number}
 * @default
 */
export const F9 = 120;

/**
 * @const {number}
 * @default
 */
export const F10 = 121;

/**
 * @const {number}
 * @default
 */
export const F11 = 122;

/**
 * @const {number}
 * @default
 */
export const F12 = 123;

/**
 * @const {number}
 * @default
 */
export const NUM_LOCK = 144;

/**
 * @const {number}
 * @default
 */
export const SCROLL_LOCK = 145;

/**
 * @const {number}
 * @default
 */
export const SEMICOLON = 186;

/**
 * @const {number}
 * @default
 */
export const EQUAL_SIGN = 187;

/**
 * @const {number}
 * @default
 */
export const COMMA = 188;

/**
 * @const {number}
 * @default
 */
export const DASH = 189;

/**
 * @const {number}
 * @default
 */
export const PERIOD = 190;

/**
 * @const {number}
 * @default
 */
export const FORWARD_SLASH = 191;

/**
 * @const {number}
 * @default
 */
export const GRAVE_ACCENT = 192;

/**
 * Listado de teclas
 */
export default {
  BACKSPACE,
  TAB,
  ENTER,
  SHIFT,
  CTRL,
  ALT,
  PAUSE,
  CAPS_LOCK,
  ESCAPE,
  SPACE,
  PAGE_UP,
  PAGE_DOWN,
  END,
  HOME,
  LEFT,
  UP,
  RIGHT,
  DOWN,
  INSERT,
  DELETE,
  NUM_0,
  NUM_1,
  NUM_2,
  NUM_3,
  NUM_4,
  NUM_5,
  NUM_6,
  NUM_7,
  NUM_8,
  NUM_9,
  A,
  B,
  C,
  D,
  E,
  F,
  G,
  H,
  I,
  J,
  K,
  L,
  M,
  N,
  O,
  P,
  Q,
  R,
  S,
  T,
  U,
  V,
  W,
  X,
  Y,
  Z,
  NUMPAD_0,
  NUMPAD_1,
  NUMPAD_2,
  NUMPAD_3,
  NUMPAD_4,
  NUMPAD_5,
  NUMPAD_6,
  NUMPAD_7,
  NUMPAD_8,
  NUMPAD_9,
  MULTIPLY,
  ADD,
  SUBTRACT,
  DECIMAL_POINT,
  DIVIDE,
  F1,
  F2,
  F3,
  F4,
  F5,
  F6,
  F7,
  F8,
  F9,
  F10,
  F11,
  F12,
  NUM_LOCK,
  SCROLL_LOCK,
  SEMICOLON,
  EQUAL_SIGN,
  COMMA,
  DASH,
  PERIOD,
  FORWARD_SLASH,
  GRAVE_ACCENT
}
