import { KeyCombo } from "../keyboardLayouts"

export const chars = {
  A: { key: "KeyA", shift: true },
  B: { key: "KeyB", shift: true },
  C: { key: "KeyC", shift: true },
  D: { key: "KeyD", shift: true },
  E: { key: "KeyE", shift: true },
  F: { key: "KeyF", shift: true },
  G: { key: "KeyG", shift: true },
  H: { key: "KeyH", shift: true },
  I: { key: "KeyI", shift: true },
  J: { key: "KeyJ", shift: true },
  K: { key: "KeyK", shift: true },
  L: { key: "KeyL", shift: true },
  M: { key: "KeyM", shift: true },
  N: { key: "KeyN", shift: true },
  O: { key: "KeyO", shift: true },
  P: { key: "KeyP", shift: true },
  Q: { key: "KeyQ", shift: true },
  R: { key: "KeyR", shift: true },
  S: { key: "KeyS", shift: true },
  T: { key: "KeyT", shift: true },
  U: { key: "KeyU", shift: true },
  V: { key: "KeyV", shift: true },
  W: { key: "KeyW", shift: true },
  X: { key: "KeyX", shift: true },
  Y: { key: "KeyY", shift: true },
  Z: { key: "KeyZ", shift: true },
  a: { key: "KeyA", shift: false },
  b: { key: "KeyB", shift: false },
  c: { key: "KeyC", shift: false },
  d: { key: "KeyD", shift: false },
  e: { key: "KeyE", shift: false },
  f: { key: "KeyF", shift: false },
  g: { key: "KeyG", shift: false },
  h: { key: "KeyH", shift: false },
  i: { key: "KeyI", shift: false },
  j: { key: "KeyJ", shift: false },
  k: { key: "KeyK", shift: false },
  l: { key: "KeyL", shift: false },
  m: { key: "KeyM", shift: false },
  n: { key: "KeyN", shift: false },
  o: { key: "KeyO", shift: false },
  p: { key: "KeyP", shift: false },
  q: { key: "KeyQ", shift: false },
  r: { key: "KeyR", shift: false },
  s: { key: "KeyS", shift: false },
  t: { key: "KeyT", shift: false },
  u: { key: "KeyU", shift: false },
  v: { key: "KeyV", shift: false },
  w: { key: "KeyW", shift: false },
  x: { key: "KeyX", shift: false },
  y: { key: "KeyY", shift: false },
  z: { key: "KeyZ", shift: false },
  1: { key: "Digit1", shift: false },
  "!": { key: "Digit1", shift: true },
  2: { key: "Digit2", shift: false },
  "@": { key: "Digit2", shift: true },
  3: { key: "Digit3", shift: false },
  "#": { key: "Digit3", shift: true },
  4: { key: "Digit4", shift: false },
  $: { key: "Digit4", shift: true },
  "%": { key: "Digit5", shift: true },
  5: { key: "Digit5", shift: false },
  "^": { key: "Digit6", shift: true },
  6: { key: "Digit6", shift: false },
  "&": { key: "Digit7", shift: true },
  7: { key: "Digit7", shift: false },
  "*": { key: "Digit8", shift: true },
  8: { key: "Digit8", shift: false },
  "(": { key: "Digit9", shift: true },
  9: { key: "Digit9", shift: false },
  ")": { key: "Digit0", shift: true },
  0: { key: "Digit0", shift: false },
  "-": { key: "Minus", shift: false },
  _: { key: "Minus", shift: true },
  "=": { key: "Equal", shift: false },
  "+": { key: "Equal", shift: true },
  "'": { key: "Quote", shift: false },
  '"': { key: "Quote", shift: true },
  ",": { key: "Comma", shift: false },
  "<": { key: "Comma", shift: true },
  "/": { key: "Slash", shift: false },
  "?": { key: "Slash", shift: true },
  ".": { key: "Period", shift: false },
  ">": { key: "Period", shift: true },
  ";": { key: "Semicolon", shift: false },
  ":": { key: "Semicolon", shift: true },
  "[": { key: "BracketLeft", shift: false },
  "{": { key: "BracketLeft", shift: true },
  "]": { key: "BracketRight", shift: false },
  "}": { key: "BracketRight", shift: true },
  "\\": { key: "Backslash", shift: false },
  "|": { key: "Backslash", shift: true },
  "`": { key: "Backquote", shift: false },
  "~": { key: "Backquote", shift: true },
  "§": { key: "IntlBackslash", shift: false },
  "±": { key: "IntlBackslash", shift: true },
  " ": { key: "Space", shift: false },
  "\n": { key: "Enter", shift: false },
  Enter: { key: "Enter", shift: false },
  Tab: { key: "Tab", shift: false },
} as Record<string, KeyCombo>