logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keyboard.json (46932B)


  1. {
  2. "manufacturer": "KBDFans",
  3. "keyboard_name": "TOFU60",
  4. "maintainer": "moyi4681",
  5. "bootloader": "rp2040",
  6. "diode_direction": "COL2ROW",
  7. "features": {
  8. "bootmagic": true,
  9. "extrakey": true,
  10. "mousekey": true,
  11. "nkro": true
  12. },
  13. "indicators": {
  14. "caps_lock": "GP28"
  15. },
  16. "matrix_pins": {
  17. "cols": ["GP2", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP18", "GP19", "GP20", "GP21", "GP22", "GP23"],
  18. "rows": ["GP4", "GP3", "GP17", "GP24", "GP25"]
  19. },
  20. "processor": "RP2040",
  21. "usb": {
  22. "device_version": "0.0.1",
  23. "pid": "0x6071",
  24. "vid": "0x4B42"
  25. },
  26. "community_layouts": [
  27. "60_ansi",
  28. "60_ansi_split_bs_rshift",
  29. "60_ansi_tsangan",
  30. "60_ansi_tsangan_split_bs_rshift",
  31. "60_hhkb",
  32. "60_iso",
  33. "60_iso_split_bs_rshift",
  34. "60_iso_tsangan",
  35. "60_iso_tsangan_split_bs_rshift"
  36. ],
  37. "layout_aliases": {
  38. "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
  39. },
  40. "layouts": {
  41. "LAYOUT_60_ansi": {
  42. "layout": [
  43. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  44. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  45. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  46. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  47. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  48. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  49. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  50. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  51. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  52. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  53. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  54. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  55. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  56. { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 },
  57. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  58. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  59. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  60. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  61. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  62. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  63. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  64. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  65. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  66. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  67. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  68. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  69. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  70. { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
  71. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  72. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  73. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  74. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  75. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  76. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  77. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  78. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  79. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  80. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  81. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  82. { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
  83. { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
  84. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
  85. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  86. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  87. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  88. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  89. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  90. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  91. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  92. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  93. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  94. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  95. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75 },
  96. { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
  97. { "label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
  98. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25 },
  99. { "label": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 },
  100. { "label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 },
  101. { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 },
  102. { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 },
  103. { "label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25 }
  104. ]
  105. },
  106. "LAYOUT_60_ansi_split_bs_rshift": {
  107. "layout": [
  108. {"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
  109. {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
  110. {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
  111. {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
  112. {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
  113. {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
  114. {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
  115. {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
  116. {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
  117. {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
  118. {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
  119. {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
  120. {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
  121. {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
  122. {"label": "Backspace", "matrix": [2, 12], "x": 14, "y": 0},
  123. {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
  124. {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
  125. {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
  126. {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
  127. {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
  128. {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
  129. {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
  130. {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
  131. {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
  132. {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
  133. {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
  134. {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
  135. {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
  136. {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
  137. {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
  138. {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
  139. {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
  140. {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
  141. {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
  142. {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
  143. {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
  144. {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
  145. {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
  146. {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
  147. {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
  148. {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
  149. {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
  150. {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
  151. {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
  152. {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
  153. {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
  154. {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
  155. {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
  156. {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
  157. {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
  158. {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
  159. {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
  160. {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
  161. {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
  162. {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
  163. {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
  164. {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
  165. {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
  166. {"label": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
  167. {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
  168. {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
  169. {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
  170. {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
  171. ]
  172. },
  173. "LAYOUT_60_hhkb": {
  174. "layout": [
  175. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  176. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  177. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  178. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  179. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  180. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  181. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  182. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  183. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  184. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  185. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  186. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  187. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  188. { "label": "Del", "matrix": [0, 13], "x": 13, "y": 0 },
  189. { "label": "Backspace", "matrix": [2, 12], "x": 14, "y": 0 },
  190. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  191. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  192. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  193. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  194. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  195. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  196. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  197. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  198. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  199. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  200. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  201. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  202. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  203. { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
  204. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  205. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  206. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  207. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  208. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  209. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  210. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  211. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  212. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  213. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  214. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  215. { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
  216. { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
  217. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
  218. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  219. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  220. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  221. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  222. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  223. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  224. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  225. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  226. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  227. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  228. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75 },
  229. { "label": "Fn", "matrix": [3, 13], "x": 14, "y": 3 },
  230. { "label": "Ctrl", "matrix": [4, 1], "x": 1.5, "y": 4 },
  231. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 },
  232. { "label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 },
  233. { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 },
  234. { "label": "Ctrl", "matrix": [4, 12], "x": 12.5, "y": 4 }
  235. ]
  236. },
  237. "LAYOUT_60_iso": {
  238. "layout": [
  239. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  240. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  241. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  242. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  243. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  244. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  245. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  246. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  247. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  248. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  249. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  250. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  251. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  252. { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 },
  253. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  254. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  255. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  256. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  257. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  258. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  259. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  260. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  261. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  262. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  263. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  264. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  265. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  266. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  267. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  268. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  269. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  270. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  271. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  272. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  273. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  274. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  275. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  276. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  277. { "label": "@", "matrix": [2, 11], "x": 11.75, "y": 2 },
  278. { "label": "~", "matrix": [1, 13], "x": 12.75, "y": 2 },
  279. { "label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
  280. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 },
  281. { "label": "|", "matrix": [3, 1], "x": 1.25, "y": 3 },
  282. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  283. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  284. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  285. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  286. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  287. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  288. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  289. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  290. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  291. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  292. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75 },
  293. { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
  294. { "label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
  295. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25 },
  296. { "label": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 },
  297. { "label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 },
  298. { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 },
  299. { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 },
  300. { "label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25 }
  301. ]
  302. },
  303. "LAYOUT_60_ansi_tsangan": {
  304. "layout": [
  305. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  306. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  307. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  308. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  309. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  310. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  311. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  312. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  313. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  314. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  315. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  316. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  317. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  318. { "label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 },
  319. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  320. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  321. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  322. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  323. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  324. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  325. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  326. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  327. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  328. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  329. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  330. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  331. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  332. { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
  333. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  334. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  335. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  336. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  337. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  338. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  339. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  340. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  341. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  342. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  343. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  344. { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
  345. { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
  346. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
  347. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  348. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  349. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  350. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  351. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  352. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  353. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  354. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  355. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  356. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  357. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75 },
  358. { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 },
  359. { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
  360. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 },
  361. { "label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 },
  362. { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 },
  363. { "label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4 },
  364. { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 }
  365. ]
  366. },
  367. "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
  368. "layout": [
  369. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  370. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  371. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  372. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  373. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  374. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  375. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  376. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  377. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  378. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  379. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  380. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  381. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  382. { "label": "Del", "matrix": [0, 13], "x": 13, "y": 0 },
  383. { "label": "Backspace", "matrix": [2, 12], "x": 14, "y": 0 },
  384. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  385. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  386. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  387. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  388. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  389. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  390. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  391. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  392. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  393. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  394. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  395. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  396. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  397. { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
  398. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  399. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  400. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  401. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  402. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  403. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  404. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  405. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  406. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  407. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  408. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  409. { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
  410. { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
  411. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
  412. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  413. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  414. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  415. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  416. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  417. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  418. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  419. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  420. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  421. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  422. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75 },
  423. { "label": "Fn", "matrix": [3, 13], "x": 14, "y": 3 },
  424. { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 },
  425. { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
  426. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 },
  427. { "label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7 },
  428. { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 },
  429. { "label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4 },
  430. { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 }
  431. ]
  432. },
  433. "LAYOUT_60_iso_split_bs_rshift": {
  434. "layout": [
  435. {"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
  436. {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
  437. {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
  438. {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
  439. {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
  440. {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
  441. {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
  442. {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
  443. {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
  444. {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
  445. {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
  446. {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
  447. {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
  448. {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
  449. {"label": "Backspace", "matrix": [2, 12], "x": 14, "y": 0},
  450. {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
  451. {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
  452. {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
  453. {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
  454. {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
  455. {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
  456. {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
  457. {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
  458. {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
  459. {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
  460. {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
  461. {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
  462. {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
  463. {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
  464. {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
  465. {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
  466. {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
  467. {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
  468. {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
  469. {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
  470. {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
  471. {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
  472. {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
  473. {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
  474. {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
  475. {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2},
  476. {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
  477. {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
  478. {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
  479. {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
  480. {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
  481. {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
  482. {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
  483. {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
  484. {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
  485. {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
  486. {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
  487. {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
  488. {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
  489. {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
  490. {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
  491. {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
  492. {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
  493. {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
  494. {"label": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
  495. {"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
  496. {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
  497. {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
  498. {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
  499. ]
  500. },
  501. "LAYOUT_60_iso_tsangan": {
  502. "layout": [
  503. {"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
  504. {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
  505. {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
  506. {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
  507. {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
  508. {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
  509. {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
  510. {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
  511. {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
  512. {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
  513. {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
  514. {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
  515. {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
  516. {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
  517. {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
  518. {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
  519. {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
  520. {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
  521. {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
  522. {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
  523. {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
  524. {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
  525. {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
  526. {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
  527. {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
  528. {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
  529. {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
  530. {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
  531. {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
  532. {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
  533. {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
  534. {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
  535. {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
  536. {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
  537. {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
  538. {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
  539. {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
  540. {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
  541. {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
  542. {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2},
  543. {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
  544. {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
  545. {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
  546. {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
  547. {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
  548. {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
  549. {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
  550. {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
  551. {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
  552. {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
  553. {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
  554. {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
  555. {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
  556. {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
  557. {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
  558. {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
  559. {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
  560. {"label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7},
  561. {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
  562. {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4},
  563. {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
  564. ]
  565. },
  566. "LAYOUT_60_iso_tsangan_split_bs_rshift": {
  567. "layout": [
  568. {"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
  569. {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
  570. {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
  571. {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
  572. {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
  573. {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
  574. {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
  575. {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
  576. {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
  577. {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
  578. {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
  579. {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
  580. {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
  581. {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
  582. {"label": "Backspace", "matrix": [2, 12], "x": 14, "y": 0},
  583. {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
  584. {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
  585. {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
  586. {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
  587. {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
  588. {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
  589. {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
  590. {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
  591. {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
  592. {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
  593. {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
  594. {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
  595. {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
  596. {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
  597. {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
  598. {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
  599. {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
  600. {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
  601. {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
  602. {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
  603. {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
  604. {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
  605. {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
  606. {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
  607. {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
  608. {"label": "~", "matrix": [1, 13], "x": 12.75, "y": 2},
  609. {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
  610. {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
  611. {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
  612. {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
  613. {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
  614. {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
  615. {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
  616. {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
  617. {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
  618. {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
  619. {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
  620. {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
  621. {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
  622. {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
  623. {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
  624. {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
  625. {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
  626. {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
  627. {"label": "K47", "matrix": [4, 7], "x": 4, "y": 4, "w": 7},
  628. {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
  629. {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4},
  630. {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
  631. ]
  632. },
  633. "LAYOUT_all": {
  634. "layout": [
  635. { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 },
  636. { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
  637. { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
  638. { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
  639. { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
  640. { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
  641. { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
  642. { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
  643. { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
  644. { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
  645. { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
  646. { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
  647. { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
  648. { "label": "Del", "matrix": [2, 12], "x": 13, "y": 0 },
  649. { "label": "Backspace", "matrix": [0, 13], "x": 14, "y": 0 },
  650. { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
  651. { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
  652. { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
  653. { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
  654. { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
  655. { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
  656. { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
  657. { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
  658. { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
  659. { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
  660. { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
  661. { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
  662. { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
  663. { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
  664. { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
  665. { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
  666. { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
  667. { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
  668. { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
  669. { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
  670. { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
  671. { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
  672. { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
  673. { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
  674. { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
  675. { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
  676. { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 },
  677. { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 },
  678. { "label": "|", "matrix": [3, 1], "x": 1.25, "y": 3 },
  679. { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
  680. { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
  681. { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
  682. { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
  683. { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
  684. { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
  685. { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
  686. { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
  687. { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
  688. { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
  689. { "label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75 },
  690. { "label": "Fn", "matrix": [3, 13], "x": 14, "y": 3 },
  691. { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
  692. { "label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
  693. { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25 },
  694. { "label": "K47", "matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25 },
  695. { "label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25 },
  696. { "label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25 },
  697. { "label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25 },
  698. { "label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25 }
  699. ]
  700. }
  701. }
  702. }