// @flow

export const keyboardKeys = {
  backspace: {
    keyCode: 8,
    label: 'Backspace',
  },
  tab: {
    keyCode: 9,
    label: 'Tab',
  },
  enter: {
    keyCode: 13,
    label: 'Enter',
  },
  shift: {
    keyCode: 16,
    label: 'Shift',
  },
  ctrl: {
    keyCode: 17,
    label: 'Ctrl',
  },
  alt: {
    keyCode: 18,
    label: 'Alt',
  },
  pausebreak: {
    keyCode: 19,
    label: 'PauseBreak',
  },
  capslock: {
    keyCode: 20,
    label: 'CapsLock',
  },
  esc: {
    keyCode: 27,
    label: 'Escape',
  },
  space: {
    keyCode: 32,
    label: 'Space',
  },
  pageup: {
    keyCode: 33,
    label: 'PageUp',
  },
  pagedown: {
    keyCode: 34,
    label: 'PageDown',
  },
  end: {
    keyCode: 35,
    label: 'End',
  },
  home: {
    keyCode: 36,
    label: 'Home',
  },
  leftarrow: {
    keyCode: 37,
    label: 'Left',
  },
  uparrow: {
    keyCode: 38,
    label: 'Up',
  },
  rightarrow: {
    keyCode: 39,
    label: 'Right',
  },
  downarrow: {
    keyCode: 40,
    label: 'Down',
  },
  insert: {
    keyCode: 45,
    label: 'Insert',
  },
  delete: {
    keyCode: 46,
    label: 'Delete',
  },
  '0': {
    keyCode: 48,
    label: '0',
  },
  '1': {
    keyCode: 49,
    label: '1',
  },
  '2': {
    keyCode: 50,
    label: '2',
  },
  '3': {
    keyCode: 51,
    label: '3',
  },
  '4': {
    keyCode: 52,
    label: '4',
  },
  '5': {
    keyCode: 53,
    label: '5',
  },
  '6': {
    keyCode: 54,
    label: '6',
  },
  '7': {
    keyCode: 55,
    label: '7',
  },
  '8': {
    keyCode: 56,
    label: '8',
  },
  '9': {
    keyCode: 57,
    label: '9',
  },
  a: {
    keyCode: 65,
    label: 'A',
  },
  b: {
    keyCode: 66,
    label: 'B',
  },
  c: {
    keyCode: 67,
    label: 'C',
  },
  d: {
    keyCode: 68,
    label: 'D',
  },
  e: {
    keyCode: 69,
    label: 'E',
  },
  f: {
    keyCode: 70,
    label: 'F',
  },
  g: {
    keyCode: 71,
    label: 'G',
  },
  h: {
    keyCode: 72,
    label: 'H',
  },
  i: {
    keyCode: 73,
    label: 'I',
  },
  j: {
    keyCode: 74,
    label: 'J',
  },
  k: {
    keyCode: 75,
    label: 'K',
  },
  l: {
    keyCode: 76,
    label: 'L',
  },
  m: {
    keyCode: 77,
    label: 'M',
  },
  n: {
    keyCode: 78,
    label: 'N',
  },
  o: {
    keyCode: 79,
    label: 'O',
  },
  p: {
    keyCode: 80,
    label: 'P',
  },
  q: {
    keyCode: 81,
    label: 'Q',
  },
  r: {
    keyCode: 82,
    label: 'R',
  },
  s: {
    keyCode: 83,
    label: 'S',
  },
  t: {
    keyCode: 84,
    label: 'T',
  },
  u: {
    keyCode: 85,
    label: 'U',
  },
  v: {
    keyCode: 86,
    label: 'V',
  },
  w: {
    keyCode: 87,
    label: 'W',
  },
  x: {
    keyCode: 88,
    label: 'X',
  },
  y: {
    keyCode: 89,
    label: 'Y',
  },
  z: {
    keyCode: 90,
    label: 'Z',
  },
  leftwindowkey: {
    keyCode: 91,
    label: 'LeftWindow',
  },
  rightwindowkey: {
    keyCode: 92,
    label: 'RightWindow',
  },
  selectkey: {
    keyCode: 93,
    label: 'Select',
  },
  numpad0: {
    keyCode: 96,
    label: 'NumPad0',
  },
  numpad1: {
    keyCode: 97,
    label: 'NumPad1',
  },
  numpad2: {
    keyCode: 98,
    label: 'NumPad2',
  },
  numpad3: {
    keyCode: 99,
    label: 'NumPad3',
  },
  numpad4: {
    keyCode: 100,
    label: 'NumPad4',
  },
  numpad5: {
    keyCode: 101,
    label: 'NumPad5',
  },
  numpad6: {
    keyCode: 102,
    label: 'NumPad6',
  },
  numpad7: {
    keyCode: 103,
    label: 'NumPad7',
  },
  numpad8: {
    keyCode: 104,
    label: 'NumPad8',
  },
  numpad9: {
    keyCode: 105,
    label: 'NumPad9',
  },
  multiply: {
    keyCode: 106,
    label: 'NumPad_Multiply',
  },
  add: {
    keyCode: 107,
    label: 'NumPad_Add',
  },
  separator: {
    keyCode: 108,
    label: 'NumPad_Separator',
  },
  subtract: {
    keyCode: 109,
    label: 'NumPad_Subtract',
  },
  decimalpoint: {
    keyCode: 110,
    label: 'NumPad_Decimal',
  },
  divide: {
    keyCode: 111,
    label: 'NumPad_Divide',
  },
  f1: {
    keyCode: 112,
    label: 'F1',
  },
  f2: {
    keyCode: 113,
    label: 'F2',
  },
  f3: {
    keyCode: 114,
    label: 'F3',
  },
  f4: {
    keyCode: 115,
    label: 'F4',
  },
  f5: {
    keyCode: 116,
    label: 'F5',
  },
  f6: {
    keyCode: 117,
    label: 'F6',
  },
  f7: {
    keyCode: 118,
    label: 'F7',
  },
  f8: {
    keyCode: 119,
    label: 'F8',
  },
  f9: {
    keyCode: 120,
    label: 'F9',
  },
  f10: {
    keyCode: 121,
    label: 'F10',
  },
  f11: {
    keyCode: 122,
    label: 'F11',
  },
  f12: {
    keyCode: 123,
    label: 'F12',
  },
  numlock: {
    keyCode: 144,
    label: 'NumLock',
  },
  scrolllock: {
    keyCode: 145,
    label: 'ScrollLock',
  },
  semicolon: {
    keyCode: 186,
    label: ';',
  },
  equalsign: {
    keyCode: 187,
    label: '=',
  },
  comma: {
    keyCode: 188,
    label: ',',
  },
  dash: {
    keyCode: 189,
    label: '-',
  },
  period: {
    keyCode: 190,
    label: '.',
  },
  forwardslash: {
    keyCode: 191,
    label: '/',
  },
  graveaccent: {
    keyCode: 192,
    label: '`',
  },
  openbracket: {
    keyCode: 219,
    label: '[',
  },
  backslash: {
    keyCode: 220,
    label: '\\',
  },
  closebracket: {
    keyCode: 221,
    label: ']',
  },
  singlequote: {
    keyCode: 222,
    label: "'",
  },
};
