You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

297 lines
16 KiB

  1. {
  2. "keyboard_name": "CTRL v2",
  3. "manufacturer": "Drop Inc.",
  4. "maintainer": "zvecr",
  5. "processor": "STM32F303",
  6. "bootloader": "tinyuf2",
  7. "diode_direction": "COL2ROW",
  8. "matrix_pins": {
  9. "cols": ["C0", "C1", "C2", "C3", "C6", "C7", "C8", "C9"],
  10. "rows": ["A0", "A1", "A2", "A3", "C10", "C11", "C12", "B3", "C14", "C13", "C15"]
  11. },
  12. "usb": {
  13. "vid": "0x359B",
  14. "pid": "0x0009",
  15. "device_version": "2.0.0"
  16. },
  17. "eeprom": {
  18. "driver": "i2c"
  19. },
  20. "features": {
  21. "rgb_matrix": true,
  22. "bootmagic": true,
  23. "command": false,
  24. "console": false,
  25. "extrakey": true,
  26. "mousekey": true,
  27. "nkro": true
  28. },
  29. "community_layouts": ["tkl_ansi"],
  30. "layout_aliases": {
  31. "LAYOUT": "LAYOUT_tkl_ansi"
  32. },
  33. "layouts": {
  34. "LAYOUT_tkl_ansi": {
  35. "layout": [
  36. {"matrix": [0, 0], "label":"ESCAPE", "x":0, "y":0},
  37. {"matrix": [0, 1], "label":"F1", "x":2, "y":0},
  38. {"matrix": [0, 2], "label":"F2", "x":3, "y":0},
  39. {"matrix": [0, 3], "label":"F3", "x":4, "y":0},
  40. {"matrix": [0, 4], "label":"F4", "x":5, "y":0},
  41. {"matrix": [0, 5], "label":"F5", "x":6.5, "y":0},
  42. {"matrix": [0, 6], "label":"F6", "x":7.5, "y":0},
  43. {"matrix": [0, 7], "label":"F7", "x":8.5, "y":0},
  44. {"matrix": [6, 0], "label":"F8", "x":9.5, "y":0},
  45. {"matrix": [6, 1], "label":"F9", "x":11, "y":0},
  46. {"matrix": [6, 2], "label":"F10", "x":12, "y":0},
  47. {"matrix": [6, 3], "label":"F11", "x":13, "y":0},
  48. {"matrix": [6, 4], "label":"F12", "x":14, "y":0},
  49. {"matrix": [6, 5], "label":"PRINT SCREEN", "x":15.5, "y":0},
  50. {"matrix": [6, 6], "label":"SCROLL LOCK", "x":16.5, "y":0},
  51. {"matrix": [6, 7], "label":"PAUSE BREAK", "x":17.5, "y":0},
  52. {"matrix": [1, 0], "label":"BACKTICK", "x":0, "y":1.5},
  53. {"matrix": [1, 1], "label":"1", "x":1, "y":1.5},
  54. {"matrix": [1, 2], "label":"2", "x":2, "y":1.5},
  55. {"matrix": [1, 3], "label":"3", "x":3, "y":1.5},
  56. {"matrix": [1, 4], "label":"4", "x":4, "y":1.5},
  57. {"matrix": [1, 5], "label":"5", "x":5, "y":1.5},
  58. {"matrix": [1, 6], "label":"6", "x":6, "y":1.5},
  59. {"matrix": [1, 7], "label":"7", "x":7, "y":1.5},
  60. {"matrix": [7, 0], "label":"8", "x":8, "y":1.5},
  61. {"matrix": [7, 1], "label":"9", "x":9, "y":1.5},
  62. {"matrix": [7, 2], "label":"0", "x":10, "y":1.5},
  63. {"matrix": [7, 3], "label":"MINUS", "x":11, "y":1.5},
  64. {"matrix": [7, 4], "label":"EQUALS", "x":12, "y":1.5},
  65. {"matrix": [7, 5], "label":"BACKSPACE", "x":13, "y":1.5, "w":2},
  66. {"matrix": [7, 6], "label":"INSERT", "x":15.5, "y":1.5},
  67. {"matrix": [7, 7], "label":"HOME", "x":16.5, "y":1.5},
  68. {"matrix": [9, 7], "label":"PAGE UP", "x":17.5, "y":1.5},
  69. {"matrix": [2, 0], "label":"TAB", "x":0, "y":2.5, "w":1.5},
  70. {"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.5},
  71. {"matrix": [2, 2], "label":"W", "x":2.5, "y":2.5},
  72. {"matrix": [2, 3], "label":"E", "x":3.5, "y":2.5},
  73. {"matrix": [2, 4], "label":"R", "x":4.5, "y":2.5},
  74. {"matrix": [2, 5], "label":"T", "x":5.5, "y":2.5},
  75. {"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.5},
  76. {"matrix": [2, 7], "label":"U", "x":7.5, "y":2.5},
  77. {"matrix": [8, 0], "label":"I", "x":8.5, "y":2.5},
  78. {"matrix": [8, 1], "label":"O", "x":9.5, "y":2.5},
  79. {"matrix": [8, 2], "label":"P", "x":10.5, "y":2.5},
  80. {"matrix": [8, 3], "label":"LEFT BRACKET", "x":11.5, "y":2.5},
  81. {"matrix": [8, 4], "label":"RIGHT BRACKET", "x":12.5, "y":2.5},
  82. {"matrix": [8, 5], "label":"BACK SLASH", "x":13.5, "y":2.5, "w":1.5},
  83. {"matrix": [8, 6], "label":"DELETE", "x":15.5, "y":2.5},
  84. {"matrix": [8, 7], "label":"END", "x":16.5, "y":2.5},
  85. {"matrix": [9, 6], "label":"PAGE DOWN", "x":17.5, "y":2.5},
  86. {"matrix": [3, 0], "label":"CAPS LOCK", "x":0, "y":3.5, "w":1.75},
  87. {"matrix": [3, 1], "label":"A", "x":1.75, "y":3.5},
  88. {"matrix": [3, 2], "label":"S", "x":2.75, "y":3.5},
  89. {"matrix": [3, 3], "label":"D", "x":3.75, "y":3.5},
  90. {"matrix": [3, 4], "label":"F", "x":4.75, "y":3.5},
  91. {"matrix": [3, 5], "label":"G", "x":5.75, "y":3.5},
  92. {"matrix": [3, 6], "label":"H", "x":6.75, "y":3.5},
  93. {"matrix": [3, 7], "label":"J", "x":7.75, "y":3.5},
  94. {"matrix": [9, 0], "label":"K", "x":8.75, "y":3.5},
  95. {"matrix": [9, 1], "label":"L", "x":9.75, "y":3.5},
  96. {"matrix": [9, 2], "label":"SEMICOLON", "x":10.75, "y":3.5},
  97. {"matrix": [9, 3], "label":"SINGLE TICK", "x":11.75, "y":3.5},
  98. {"matrix": [9, 4], "label":"ENTER", "x":12.75, "y":3.5, "w":2.25},
  99. {"matrix": [4, 0], "label":"LEFT SHIFT", "x":0, "y":4.5, "w":2.25},
  100. {"matrix": [4, 1], "label":"Z", "x":2.25, "y":4.5},
  101. {"matrix": [4, 2], "label":"X", "x":3.25, "y":4.5},
  102. {"matrix": [4, 3], "label":"C", "x":4.25, "y":4.5},
  103. {"matrix": [4, 4], "label":"V", "x":5.25, "y":4.5},
  104. {"matrix": [4, 5], "label":"B", "x":6.25, "y":4.5},
  105. {"matrix": [4, 6], "label":"N", "x":7.25, "y":4.5},
  106. {"matrix": [4, 7], "label":"M", "x":8.25, "y":4.5},
  107. {"matrix": [10, 0], "label":"COMMA", "x":9.25, "y":4.5},
  108. {"matrix": [10, 1], "label":"PERIOD", "x":10.25, "y":4.5},
  109. {"matrix": [10, 2], "label":"FORWARD SLASH", "x":11.25, "y":4.5},
  110. {"matrix": [10, 3], "label":"RIGHT SHIFT", "x":12.25, "y":4.5, "w":2.75},
  111. {"matrix": [9, 5], "label":"UP ARROW", "x":16.5, "y":4.5},
  112. {"matrix": [5, 0], "label":"LEFT CTRL", "x":0, "y":5.5, "w":1.25},
  113. {"matrix": [5, 1], "label":"LEFT WIN", "x":1.25, "y":5.5, "w":1.25},
  114. {"matrix": [5, 2], "label":"LEFT ALT", "x":2.5, "y":5.5, "w":1.25},
  115. {"matrix": [5, 3], "label":"SPACEBAR", "x":3.75, "y":5.5, "w":6.25},
  116. {"matrix": [5, 4], "label":"RIGHT ALT", "x":10, "y":5.5, "w":1.25},
  117. {"matrix": [5, 5], "label":"FN", "x":11.25, "y":5.5, "w":1.25},
  118. {"matrix": [5, 6], "label":"MENU", "x":12.5, "y":5.5, "w":1.25},
  119. {"matrix": [5, 7], "label":"RIGHT CTRL", "x":13.75, "y":5.5, "w":1.25},
  120. {"matrix": [10, 4], "label":"LEFT ARROW", "x":15.5, "y":5.5},
  121. {"matrix": [10, 5], "label":"DOWN ARROW", "x":16.5, "y":5.5},
  122. {"matrix": [10, 6], "label":"RIGHT ARROW", "x":17.5, "y":5.5}
  123. ]
  124. }
  125. },
  126. "rgb_matrix": {
  127. "driver": "is31fl3733",
  128. "max_brightness": 191,
  129. "sleep": true,
  130. "animations": {
  131. "alphas_mods": true,
  132. "gradient_up_down": true,
  133. "gradient_left_right": true,
  134. "breathing": true,
  135. "band_sat": true,
  136. "band_val": true,
  137. "band_pinwheel_sat": true,
  138. "band_pinwheel_val": true,
  139. "band_spiral_sat": true,
  140. "band_spiral_val": true,
  141. "cycle_all": true,
  142. "cycle_left_right": true,
  143. "cycle_up_down": true,
  144. "cycle_out_in": true,
  145. "cycle_out_in_dual": true,
  146. "rainbow_moving_chevron": true,
  147. "cycle_pinwheel": true,
  148. "cycle_spiral": true,
  149. "dual_beacon": true,
  150. "rainbow_beacon": true,
  151. "rainbow_pinwheels": true,
  152. "raindrops": true,
  153. "jellybean_raindrops": true,
  154. "hue_breathing": true,
  155. "hue_pendulum": true,
  156. "hue_wave": true,
  157. "pixel_fractal": true,
  158. "pixel_flow": true,
  159. "pixel_rain": true,
  160. "typing_heatmap": true,
  161. "digital_rain": true,
  162. "solid_reactive_simple": true,
  163. "solid_reactive": true,
  164. "solid_reactive_wide": true,
  165. "solid_reactive_multiwide": true,
  166. "solid_reactive_cross": true,
  167. "solid_reactive_multicross": true,
  168. "solid_reactive_nexus": true,
  169. "solid_reactive_multinexus": true,
  170. "splash": true,
  171. "multisplash": true,
  172. "solid_splash": true,
  173. "solid_multisplash": true
  174. },
  175. "layout": [
  176. { "flags": 1, "matrix": [0, 0], "x": 7, "y": 5 },
  177. { "flags": 4, "matrix": [0, 1], "x": 31, "y": 5 },
  178. { "flags": 4, "matrix": [0, 2], "x": 43, "y": 5 },
  179. { "flags": 4, "matrix": [0, 3], "x": 55, "y": 5 },
  180. { "flags": 4, "matrix": [0, 4], "x": 67, "y": 5 },
  181. { "flags": 1, "matrix": [0, 5], "x": 85, "y": 5 },
  182. { "flags": 1, "matrix": [0, 6], "x": 97, "y": 5 },
  183. { "flags": 1, "matrix": [0, 7], "x": 109, "y": 5 },
  184. { "flags": 1, "matrix": [6, 0], "x": 121, "y": 5 },
  185. { "flags": 4, "matrix": [6, 1], "x": 139, "y": 5 },
  186. { "flags": 4, "matrix": [6, 2], "x": 151, "y": 5 },
  187. { "flags": 4, "matrix": [6, 3], "x": 163, "y": 5 },
  188. { "flags": 4, "matrix": [6, 4], "x": 175, "y": 5 },
  189. { "flags": 1, "matrix": [6, 5], "x": 193, "y": 5 },
  190. { "flags": 9, "matrix": [6, 6], "x": 205, "y": 5 },
  191. { "flags": 1, "matrix": [6, 7], "x": 217, "y": 5 },
  192. { "flags": 4, "matrix": [1, 0], "x": 7, "y": 20 },
  193. { "flags": 4, "matrix": [1, 1], "x": 19, "y": 20 },
  194. { "flags": 4, "matrix": [1, 2], "x": 31, "y": 20 },
  195. { "flags": 4, "matrix": [1, 3], "x": 43, "y": 20 },
  196. { "flags": 4, "matrix": [1, 4], "x": 55, "y": 20 },
  197. { "flags": 4, "matrix": [1, 5], "x": 67, "y": 20 },
  198. { "flags": 4, "matrix": [1, 6], "x": 79, "y": 20 },
  199. { "flags": 4, "matrix": [1, 7], "x": 91, "y": 20 },
  200. { "flags": 4, "matrix": [7, 0], "x": 103, "y": 20 },
  201. { "flags": 4, "matrix": [7, 1], "x": 115, "y": 20 },
  202. { "flags": 4, "matrix": [7, 2], "x": 127, "y": 20 },
  203. { "flags": 4, "matrix": [7, 3], "x": 139, "y": 20 },
  204. { "flags": 4, "matrix": [7, 4], "x": 151, "y": 20 },
  205. { "flags": 1, "matrix": [7, 5], "x": 169, "y": 20 },
  206. { "flags": 1, "matrix": [7, 6], "x": 193, "y": 20 },
  207. { "flags": 1, "matrix": [7, 7], "x": 205, "y": 20 },
  208. { "flags": 1, "matrix": [9, 7], "x": 217, "y": 20 },
  209. { "flags": 1, "matrix": [2, 0], "x": 10, "y": 30 },
  210. { "flags": 4, "matrix": [2, 1], "x": 25, "y": 30 },
  211. { "flags": 4, "matrix": [2, 2], "x": 37, "y": 30 },
  212. { "flags": 4, "matrix": [2, 3], "x": 49, "y": 30 },
  213. { "flags": 4, "matrix": [2, 4], "x": 61, "y": 30 },
  214. { "flags": 4, "matrix": [2, 5], "x": 73, "y": 30 },
  215. { "flags": 4, "matrix": [2, 6], "x": 85, "y": 30 },
  216. { "flags": 4, "matrix": [2, 7], "x": 97, "y": 30 },
  217. { "flags": 4, "matrix": [8, 0], "x": 109, "y": 30 },
  218. { "flags": 4, "matrix": [8, 1], "x": 121, "y": 30 },
  219. { "flags": 4, "matrix": [8, 2], "x": 133, "y": 30 },
  220. { "flags": 4, "matrix": [8, 3], "x": 145, "y": 30 },
  221. { "flags": 4, "matrix": [8, 4], "x": 157, "y": 30 },
  222. { "flags": 4, "matrix": [8, 5], "x": 172, "y": 30 },
  223. { "flags": 1, "matrix": [8, 6], "x": 193, "y": 30 },
  224. { "flags": 1, "matrix": [8, 7], "x": 205, "y": 30 },
  225. { "flags": 1, "matrix": [9, 6], "x": 217, "y": 30 },
  226. { "flags": 9, "matrix": [3, 0], "x": 11, "y": 39 },
  227. { "flags": 4, "matrix": [3, 1], "x": 28, "y": 39 },
  228. { "flags": 4, "matrix": [3, 2], "x": 40, "y": 39 },
  229. { "flags": 4, "matrix": [3, 3], "x": 52, "y": 39 },
  230. { "flags": 4, "matrix": [3, 4], "x": 64, "y": 39 },
  231. { "flags": 4, "matrix": [3, 5], "x": 76, "y": 39 },
  232. { "flags": 4, "matrix": [3, 6], "x": 88, "y": 39 },
  233. { "flags": 4, "matrix": [3, 7], "x": 100, "y": 39 },
  234. { "flags": 4, "matrix": [9, 0], "x": 112, "y": 39 },
  235. { "flags": 4, "matrix": [9, 1], "x": 124, "y": 39 },
  236. { "flags": 4, "matrix": [9, 2], "x": 136, "y": 39 },
  237. { "flags": 4, "matrix": [9, 3], "x": 148, "y": 39 },
  238. { "flags": 1, "matrix": [9, 4], "x": 168, "y": 39 },
  239. { "flags": 1, "matrix": [4, 0], "x": 14, "y": 49 },
  240. { "flags": 4, "matrix": [4, 1], "x": 34, "y": 49 },
  241. { "flags": 4, "matrix": [4, 2], "x": 46, "y": 49 },
  242. { "flags": 4, "matrix": [4, 3], "x": 58, "y": 49 },
  243. { "flags": 4, "matrix": [4, 4], "x": 70, "y": 49 },
  244. { "flags": 4, "matrix": [4, 5], "x": 82, "y": 49 },
  245. { "flags": 4, "matrix": [4, 6], "x": 94, "y": 49 },
  246. { "flags": 4, "matrix": [4, 7], "x": 106, "y": 49 },
  247. { "flags": 4, "matrix": [10, 0], "x": 118, "y": 49 },
  248. { "flags": 4, "matrix": [10, 1], "x": 130, "y": 49 },
  249. { "flags": 4, "matrix": [10, 2], "x": 142, "y": 49 },
  250. { "flags": 1, "matrix": [10, 3], "x": 165, "y": 49 },
  251. { "flags": 1, "matrix": [9, 5], "x": 205, "y": 49 },
  252. { "flags": 1, "matrix": [5, 0], "x": 8, "y": 59 },
  253. { "flags": 1, "matrix": [5, 1], "x": 23, "y": 59 },
  254. { "flags": 1, "matrix": [5, 2], "x": 38, "y": 59 },
  255. { "flags": 4, "matrix": [5, 3], "x": 83, "y": 59 },
  256. { "flags": 1, "matrix": [5, 4], "x": 129, "y": 59 },
  257. { "flags": 1, "matrix": [5, 5], "x": 144, "y": 59 },
  258. { "flags": 1, "matrix": [5, 6], "x": 159, "y": 59 },
  259. { "flags": 1, "matrix": [5, 7], "x": 174, "y": 59 },
  260. { "flags": 1, "matrix": [10, 4], "x": 193, "y": 59 },
  261. { "flags": 1, "matrix": [10, 5], "x": 205, "y": 59 },
  262. { "flags": 1, "matrix": [10, 6], "x": 217, "y": 59 },
  263. { "flags": 2, "x": 224, "y": 64 },
  264. { "flags": 2, "x": 204, "y": 64 },
  265. { "flags": 2, "x": 186, "y": 64 },
  266. { "flags": 2, "x": 167, "y": 64 },
  267. { "flags": 2, "x": 149, "y": 64 },
  268. { "flags": 2, "x": 130, "y": 64 },
  269. { "flags": 2, "x": 112, "y": 64 },
  270. { "flags": 2, "x": 94, "y": 64 },
  271. { "flags": 2, "x": 75, "y": 64 },
  272. { "flags": 2, "x": 57, "y": 64 },
  273. { "flags": 2, "x": 38, "y": 64 },
  274. { "flags": 2, "x": 20, "y": 64 },
  275. { "flags": 2, "x": 0, "y": 64 },
  276. { "flags": 2, "x": 0, "y": 47 },
  277. { "flags": 2, "x": 0, "y": 32 },
  278. { "flags": 2, "x": 0, "y": 17 },
  279. { "flags": 2, "x": 0, "y": 0 },
  280. { "flags": 2, "x": 20, "y": 0 },
  281. { "flags": 2, "x": 38, "y": 0 },
  282. { "flags": 2, "x": 57, "y": 0 },
  283. { "flags": 2, "x": 75, "y": 0 },
  284. { "flags": 2, "x": 94, "y": 0 },
  285. { "flags": 2, "x": 112, "y": 0 },
  286. { "flags": 2, "x": 130, "y": 0 },
  287. { "flags": 2, "x": 149, "y": 0 },
  288. { "flags": 2, "x": 167, "y": 0 },
  289. { "flags": 2, "x": 186, "y": 0 },
  290. { "flags": 2, "x": 204, "y": 0 },
  291. { "flags": 2, "x": 224, "y": 0 },
  292. { "flags": 2, "x": 224, "y": 17 },
  293. { "flags": 2, "x": 224, "y": 32 },
  294. { "flags": 2, "x": 224, "y": 47 }
  295. ]
  296. }
  297. }