local Keyboard = require("keyseer.keyboard")

return Keyboard:new({
  layout = {
    [1] = {
      [1] = { normal = "<Esc>", shifted = "<Esc>" },
      [2] = { normal = "<F1>", shifted = "<F1>" },
      [3] = { normal = "<F2>", shifted = "<F2>" },
      [4] = { normal = "<F3>", shifted = "<F3>" },
      [5] = { normal = "<F4>", shifted = "<F4>" },
      [6] = { normal = "<F5>", shifted = "<F5>" },
      [7] = { normal = "<F6>", shifted = "<F6>" },
      [8] = { normal = "<F7>", shifted = "<F7>" },
      [9] = { normal = "<F8>", shifted = "<F8>" },
      [10] = { normal = "<F9>", shifted = "<F9>" },
      [11] = { normal = "<F10>", shifted = "<F10>" },
    },
    [2] = {
      [1] = { normal = "`", shifted = "~" },
      [2] = { normal = "1", shifted = "!" },
      [3] = { normal = "2", shifted = '"' },
      [4] = { normal = "3", shifted = "£" },
      [5] = { normal = "4", shifted = "$" },
      [6] = { normal = "5", shifted = "%" },
      [7] = { normal = "6", shifted = "^" },
      [8] = { normal = "7", shifted = "&" },
      [9] = { normal = "8", shifted = "*" },
      [10] = { normal = "9", shifted = "(" },
      [11] = { normal = "0", shifted = ")" },
      [12] = { normal = "-", shifted = "_" },
      [13] = { normal = "=", shifted = "+" },
      [14] = { normal = "<BS>", shifted = "<BS>" },
    },
    [3] = {
      [1] = { normal = "<Tab>", shifted = "<Tab>" }, -- tab
      [2] = { normal = "q", shifted = "Q" },
      [3] = { normal = "w", shifted = "W" },
      [4] = { normal = "e", shifted = "E" },
      [5] = { normal = "r", shifted = "R" },
      [6] = { normal = "t", shifted = "T" },
      [7] = { normal = "y", shifted = "Y" },
      [8] = { normal = "u", shifted = "U" },
      [9] = { normal = "i", shifted = "I" },
      [10] = { normal = "o", shifted = "O" },
      [11] = { normal = "p", shifted = "P" },
      [12] = { normal = "[", shifted = "{" },
      [13] = { normal = "]", shifted = "}" },
      [14] = { normal = "<CR>", shifted = "<CR>" },
    },
    [4] = {
      [1] = { normal = "<Caps>", shifted = "<Caps>" },
      [2] = { normal = "a", shifted = "A" },
      [3] = { normal = "s", shifted = "S" },
      [4] = { normal = "d", shifted = "D" },
      [5] = { normal = "f", shifted = "F" },
      [6] = { normal = "g", shifted = "G" },
      [7] = { normal = "h", shifted = "H" },
      [8] = { normal = "j", shifted = "J" },
      [9] = { normal = "k", shifted = "K" },
      [10] = { normal = "l", shifted = "L" },
      [11] = { normal = ";", shifted = ":" },
      [12] = { normal = "'", shifted = "@" },
      [13] = { normal = "#", shifted = "~" },
      [14] = { normal = "<CR>", shifted = "<CR>" },
    },
    [5] = {
      [1] = { normal = "<Shift>", shifted = "<Shift>" },
      [2] = { normal = "\\", shifted = "|" },
      [3] = { normal = "z", shifted = "Z" },
      [4] = { normal = "x", shifted = "X" },
      [5] = { normal = "c", shifted = "C" },
      [6] = { normal = "v", shifted = "V" },
      [7] = { normal = "b", shifted = "B" },
      [8] = { normal = "n", shifted = "N" },
      [9] = { normal = "m", shifted = "M" },
      [10] = { normal = ",", shifted = "<" },
      [11] = { normal = ".", shifted = ">" },
      [12] = { normal = "/", shifted = "?" },
      [13] = { normal = "<Shift>", shifted = "<Shift>" },
    },
    [6] = {
      [1] = { normal = "<Ctrl>", shifted = "<Ctrl>" },
      [2] = { normal = "<Meta>", shifted = "<Meta>" },
      [3] = { normal = "<Space>", shifted = "<Space>" },
      [4] = { normal = "<Meta>", shifted = "<Meta>" },
      [5] = { normal = "<Ctrl>", shifted = "<Ctrl>" },
      [6] = { normal = "Left", shifted = "Left" },
      [7] = { normal = "Up", shifted = "Up" },
      [8] = { normal = "Down", shifted = "Down" },
      [9] = { normal = "Right", shifted = "Right" },
    },
  },
})
