keyboard.json 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. {
  2. "keyboard_name": "Planck",
  3. "manufacturer": "Drop",
  4. "url": "https://olkb.com/planck",
  5. "maintainer": "jackhumbert",
  6. "usb": {
  7. "vid": "0x03A8",
  8. "pid": "0xA4F9",
  9. "device_version": "0.0.7"
  10. },
  11. "ws2812": {
  12. "pin": "A1",
  13. "driver": "pwm"
  14. },
  15. "rgb_matrix": {
  16. "driver": "ws2812",
  17. "layout": [
  18. {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255},
  19. {"matrix": [7, 1], "x": 148, "y": 60, "flags": 255},
  20. {"matrix": [3, 4], "x": 206, "y": 53, "flags": 255},
  21. {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255},
  22. {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255},
  23. {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255},
  24. {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255},
  25. {"matrix": [3, 1], "x": 18, "y": 54, "flags": 255},
  26. {"matrix": [7, 4], "x": 77, "y": 60, "flags": 255}
  27. ],
  28. "sleep": true
  29. },
  30. "matrix_pins": {
  31. "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
  32. "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"]
  33. },
  34. "diode_direction": "COL2ROW",
  35. "dip_switch": {
  36. "pins": ["B14", "A15", "A0", "B9"]
  37. },
  38. "encoder": {
  39. "rotary": [
  40. {"pin_a": "B12", "pin_b": "B13"},
  41. {"pin_a": "B12", "pin_b": "B13"},
  42. {"pin_a": "B12", "pin_b": "B13"},
  43. {"pin_a": "B12", "pin_b": "B13"},
  44. {"pin_a": "B12", "pin_b": "B13"},
  45. {"pin_a": "B12", "pin_b": "B13"},
  46. {"pin_a": "B12", "pin_b": "B13"},
  47. {"pin_a": "B12", "pin_b": "B13"}
  48. ]
  49. },
  50. "features": {
  51. "audio": true,
  52. "bootmagic": true,
  53. "command": true,
  54. "console": true,
  55. "encoder": true,
  56. "dip_switch": true,
  57. "extrakey": true,
  58. "mousekey": true,
  59. "nkro": true,
  60. "rgblight": true
  61. },
  62. "rgblight": {
  63. "led_count": 9
  64. },
  65. "processor": "STM32F303",
  66. "bootloader": "stm32-dfu",
  67. "community_layouts": ["ortho_4x12", "planck_mit"],
  68. "layout_aliases": {
  69. "LAYOUT": "LAYOUT_ortho_4x12",
  70. "LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
  71. "LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
  72. },
  73. "layouts": {
  74. "LAYOUT_ortho_4x12": {
  75. "layout": [
  76. { "matrix": [0, 0], "x": 0, "y": 0 },
  77. { "matrix": [0, 1], "x": 1, "y": 0 },
  78. { "matrix": [0, 2], "x": 2, "y": 0 },
  79. { "matrix": [0, 3], "x": 3, "y": 0 },
  80. { "matrix": [0, 4], "x": 4, "y": 0 },
  81. { "matrix": [0, 5], "x": 5, "y": 0 },
  82. { "matrix": [4, 0], "x": 6, "y": 0 },
  83. { "matrix": [4, 1], "x": 7, "y": 0 },
  84. { "matrix": [4, 2], "x": 8, "y": 0 },
  85. { "matrix": [4, 3], "x": 9, "y": 0 },
  86. { "matrix": [4, 4], "x": 10, "y": 0 },
  87. { "matrix": [4, 5], "x": 11, "y": 0 },
  88. { "matrix": [1, 0], "x": 0, "y": 1 },
  89. { "matrix": [1, 1], "x": 1, "y": 1 },
  90. { "matrix": [1, 2], "x": 2, "y": 1 },
  91. { "matrix": [1, 3], "x": 3, "y": 1 },
  92. { "matrix": [1, 4], "x": 4, "y": 1 },
  93. { "matrix": [1, 5], "x": 5, "y": 1 },
  94. { "matrix": [5, 0], "x": 6, "y": 1 },
  95. { "matrix": [5, 1], "x": 7, "y": 1 },
  96. { "matrix": [5, 2], "x": 8, "y": 1 },
  97. { "matrix": [5, 3], "x": 9, "y": 1 },
  98. { "matrix": [5, 4], "x": 10, "y": 1 },
  99. { "matrix": [5, 5], "x": 11, "y": 1 },
  100. { "matrix": [2, 0], "x": 0, "y": 2 },
  101. { "matrix": [2, 1], "x": 1, "y": 2 },
  102. { "matrix": [2, 2], "x": 2, "y": 2 },
  103. { "matrix": [2, 3], "x": 3, "y": 2 },
  104. { "matrix": [2, 4], "x": 4, "y": 2 },
  105. { "matrix": [2, 5], "x": 5, "y": 2 },
  106. { "matrix": [6, 0], "x": 6, "y": 2 },
  107. { "matrix": [6, 1], "x": 7, "y": 2 },
  108. { "matrix": [6, 2], "x": 8, "y": 2 },
  109. { "matrix": [6, 3], "x": 9, "y": 2 },
  110. { "matrix": [6, 4], "x": 10, "y": 2 },
  111. { "matrix": [6, 5], "x": 11, "y": 2 },
  112. { "matrix": [3, 0], "x": 0, "y": 3 },
  113. { "matrix": [3, 1], "x": 1, "y": 3 },
  114. { "matrix": [3, 2], "x": 2, "y": 3 },
  115. { "matrix": [7, 3], "x": 3, "y": 3 },
  116. { "matrix": [7, 4], "x": 4, "y": 3 },
  117. { "matrix": [7, 5], "x": 5, "y": 3 },
  118. { "matrix": [7, 0], "x": 6, "y": 3 },
  119. { "matrix": [7, 1], "x": 7, "y": 3 },
  120. { "matrix": [7, 2], "x": 8, "y": 3 },
  121. { "matrix": [3, 3], "x": 9, "y": 3 },
  122. { "matrix": [3, 4], "x": 10, "y": 3 },
  123. { "matrix": [3, 5], "x": 11, "y": 3 }
  124. ]
  125. },
  126. "LAYOUT_planck_1x2uC": {
  127. "layout": [
  128. { "matrix": [0, 0], "x": 0, "y": 0 },
  129. { "matrix": [0, 1], "x": 1, "y": 0 },
  130. { "matrix": [0, 2], "x": 2, "y": 0 },
  131. { "matrix": [0, 3], "x": 3, "y": 0 },
  132. { "matrix": [0, 4], "x": 4, "y": 0 },
  133. { "matrix": [0, 5], "x": 5, "y": 0 },
  134. { "matrix": [4, 0], "x": 6, "y": 0 },
  135. { "matrix": [4, 1], "x": 7, "y": 0 },
  136. { "matrix": [4, 2], "x": 8, "y": 0 },
  137. { "matrix": [4, 3], "x": 9, "y": 0 },
  138. { "matrix": [4, 4], "x": 10, "y": 0 },
  139. { "matrix": [4, 5], "x": 11, "y": 0 },
  140. { "matrix": [1, 0], "x": 0, "y": 1 },
  141. { "matrix": [1, 1], "x": 1, "y": 1 },
  142. { "matrix": [1, 2], "x": 2, "y": 1 },
  143. { "matrix": [1, 3], "x": 3, "y": 1 },
  144. { "matrix": [1, 4], "x": 4, "y": 1 },
  145. { "matrix": [1, 5], "x": 5, "y": 1 },
  146. { "matrix": [5, 0], "x": 6, "y": 1 },
  147. { "matrix": [5, 1], "x": 7, "y": 1 },
  148. { "matrix": [5, 2], "x": 8, "y": 1 },
  149. { "matrix": [5, 3], "x": 9, "y": 1 },
  150. { "matrix": [5, 4], "x": 10, "y": 1 },
  151. { "matrix": [5, 5], "x": 11, "y": 1 },
  152. { "matrix": [2, 0], "x": 0, "y": 2 },
  153. { "matrix": [2, 1], "x": 1, "y": 2 },
  154. { "matrix": [2, 2], "x": 2, "y": 2 },
  155. { "matrix": [2, 3], "x": 3, "y": 2 },
  156. { "matrix": [2, 4], "x": 4, "y": 2 },
  157. { "matrix": [2, 5], "x": 5, "y": 2 },
  158. { "matrix": [6, 0], "x": 6, "y": 2 },
  159. { "matrix": [6, 1], "x": 7, "y": 2 },
  160. { "matrix": [6, 2], "x": 8, "y": 2 },
  161. { "matrix": [6, 3], "x": 9, "y": 2 },
  162. { "matrix": [6, 4], "x": 10, "y": 2 },
  163. { "matrix": [6, 5], "x": 11, "y": 2 },
  164. { "matrix": [3, 0], "x": 0, "y": 3 },
  165. { "matrix": [3, 1], "x": 1, "y": 3 },
  166. { "matrix": [3, 2], "x": 2, "y": 3 },
  167. { "matrix": [7, 3], "x": 3, "y": 3 },
  168. { "matrix": [7, 4], "x": 4, "y": 3 },
  169. { "matrix": [7, 0], "x": 5, "y": 3, "w": 2 },
  170. { "matrix": [7, 1], "x": 7, "y": 3 },
  171. { "matrix": [7, 2], "x": 8, "y": 3 },
  172. { "matrix": [3, 3], "x": 9, "y": 3 },
  173. { "matrix": [3, 4], "x": 10, "y": 3 },
  174. { "matrix": [3, 5], "x": 11, "y": 3 }
  175. ]
  176. },
  177. "LAYOUT_planck_1x2uL": {
  178. "layout": [
  179. { "matrix": [0, 0], "x": 0, "y": 0 },
  180. { "matrix": [0, 1], "x": 1, "y": 0 },
  181. { "matrix": [0, 2], "x": 2, "y": 0 },
  182. { "matrix": [0, 3], "x": 3, "y": 0 },
  183. { "matrix": [0, 4], "x": 4, "y": 0 },
  184. { "matrix": [0, 5], "x": 5, "y": 0 },
  185. { "matrix": [4, 0], "x": 6, "y": 0 },
  186. { "matrix": [4, 1], "x": 7, "y": 0 },
  187. { "matrix": [4, 2], "x": 8, "y": 0 },
  188. { "matrix": [4, 3], "x": 9, "y": 0 },
  189. { "matrix": [4, 4], "x": 10, "y": 0 },
  190. { "matrix": [4, 5], "x": 11, "y": 0 },
  191. { "matrix": [1, 0], "x": 0, "y": 1 },
  192. { "matrix": [1, 1], "x": 1, "y": 1 },
  193. { "matrix": [1, 2], "x": 2, "y": 1 },
  194. { "matrix": [1, 3], "x": 3, "y": 1 },
  195. { "matrix": [1, 4], "x": 4, "y": 1 },
  196. { "matrix": [1, 5], "x": 5, "y": 1 },
  197. { "matrix": [5, 0], "x": 6, "y": 1 },
  198. { "matrix": [5, 1], "x": 7, "y": 1 },
  199. { "matrix": [5, 2], "x": 8, "y": 1 },
  200. { "matrix": [5, 3], "x": 9, "y": 1 },
  201. { "matrix": [5, 4], "x": 10, "y": 1 },
  202. { "matrix": [5, 5], "x": 11, "y": 1 },
  203. { "matrix": [2, 0], "x": 0, "y": 2 },
  204. { "matrix": [2, 1], "x": 1, "y": 2 },
  205. { "matrix": [2, 2], "x": 2, "y": 2 },
  206. { "matrix": [2, 3], "x": 3, "y": 2 },
  207. { "matrix": [2, 4], "x": 4, "y": 2 },
  208. { "matrix": [2, 5], "x": 5, "y": 2 },
  209. { "matrix": [6, 0], "x": 6, "y": 2 },
  210. { "matrix": [6, 1], "x": 7, "y": 2 },
  211. { "matrix": [6, 2], "x": 8, "y": 2 },
  212. { "matrix": [6, 3], "x": 9, "y": 2 },
  213. { "matrix": [6, 4], "x": 10, "y": 2 },
  214. { "matrix": [6, 5], "x": 11, "y": 2 },
  215. { "matrix": [3, 0], "x": 0, "y": 3 },
  216. { "matrix": [3, 1], "x": 1, "y": 3 },
  217. { "matrix": [3, 2], "x": 2, "y": 3 },
  218. { "matrix": [7, 3], "x": 3, "y": 3 },
  219. { "matrix": [7, 5], "x": 4, "y": 3, "w": 2 },
  220. { "matrix": [7, 0], "x": 6, "y": 3 },
  221. { "matrix": [7, 1], "x": 7, "y": 3 },
  222. { "matrix": [7, 2], "x": 8, "y": 3 },
  223. { "matrix": [3, 3], "x": 9, "y": 3 },
  224. { "matrix": [3, 4], "x": 10, "y": 3 },
  225. { "matrix": [3, 5], "x": 11, "y": 3 }
  226. ]
  227. },
  228. "LAYOUT_planck_1x2uR": {
  229. "layout": [
  230. { "matrix": [0, 0], "x": 0, "y": 0 },
  231. { "matrix": [0, 1], "x": 1, "y": 0 },
  232. { "matrix": [0, 2], "x": 2, "y": 0 },
  233. { "matrix": [0, 3], "x": 3, "y": 0 },
  234. { "matrix": [0, 4], "x": 4, "y": 0 },
  235. { "matrix": [0, 5], "x": 5, "y": 0 },
  236. { "matrix": [4, 0], "x": 6, "y": 0 },
  237. { "matrix": [4, 1], "x": 7, "y": 0 },
  238. { "matrix": [4, 2], "x": 8, "y": 0 },
  239. { "matrix": [4, 3], "x": 9, "y": 0 },
  240. { "matrix": [4, 4], "x": 10, "y": 0 },
  241. { "matrix": [4, 5], "x": 11, "y": 0 },
  242. { "matrix": [1, 0], "x": 0, "y": 1 },
  243. { "matrix": [1, 1], "x": 1, "y": 1 },
  244. { "matrix": [1, 2], "x": 2, "y": 1 },
  245. { "matrix": [1, 3], "x": 3, "y": 1 },
  246. { "matrix": [1, 4], "x": 4, "y": 1 },
  247. { "matrix": [1, 5], "x": 5, "y": 1 },
  248. { "matrix": [5, 0], "x": 6, "y": 1 },
  249. { "matrix": [5, 1], "x": 7, "y": 1 },
  250. { "matrix": [5, 2], "x": 8, "y": 1 },
  251. { "matrix": [5, 3], "x": 9, "y": 1 },
  252. { "matrix": [5, 4], "x": 10, "y": 1 },
  253. { "matrix": [5, 5], "x": 11, "y": 1 },
  254. { "matrix": [2, 0], "x": 0, "y": 2 },
  255. { "matrix": [2, 1], "x": 1, "y": 2 },
  256. { "matrix": [2, 2], "x": 2, "y": 2 },
  257. { "matrix": [2, 3], "x": 3, "y": 2 },
  258. { "matrix": [2, 4], "x": 4, "y": 2 },
  259. { "matrix": [2, 5], "x": 5, "y": 2 },
  260. { "matrix": [6, 0], "x": 6, "y": 2 },
  261. { "matrix": [6, 1], "x": 7, "y": 2 },
  262. { "matrix": [6, 2], "x": 8, "y": 2 },
  263. { "matrix": [6, 3], "x": 9, "y": 2 },
  264. { "matrix": [6, 4], "x": 10, "y": 2 },
  265. { "matrix": [6, 5], "x": 11, "y": 2 },
  266. { "matrix": [3, 0], "x": 0, "y": 3 },
  267. { "matrix": [3, 1], "x": 1, "y": 3 },
  268. { "matrix": [3, 2], "x": 2, "y": 3 },
  269. { "matrix": [7, 3], "x": 3, "y": 3 },
  270. { "matrix": [7, 4], "x": 4, "y": 3 },
  271. { "matrix": [7, 5], "x": 5, "y": 3 },
  272. { "matrix": [7, 1], "x": 6, "y": 3, "w": 2 },
  273. { "matrix": [7, 2], "x": 8, "y": 3 },
  274. { "matrix": [3, 3], "x": 9, "y": 3 },
  275. { "matrix": [3, 4], "x": 10, "y": 3 },
  276. { "matrix": [3, 5], "x": 11, "y": 3 }
  277. ]
  278. },
  279. "LAYOUT_planck_2x2u": {
  280. "layout": [
  281. { "matrix": [0, 0], "x": 0, "y": 0 },
  282. { "matrix": [0, 1], "x": 1, "y": 0 },
  283. { "matrix": [0, 2], "x": 2, "y": 0 },
  284. { "matrix": [0, 3], "x": 3, "y": 0 },
  285. { "matrix": [0, 4], "x": 4, "y": 0 },
  286. { "matrix": [0, 5], "x": 5, "y": 0 },
  287. { "matrix": [4, 0], "x": 6, "y": 0 },
  288. { "matrix": [4, 1], "x": 7, "y": 0 },
  289. { "matrix": [4, 2], "x": 8, "y": 0 },
  290. { "matrix": [4, 3], "x": 9, "y": 0 },
  291. { "matrix": [4, 4], "x": 10, "y": 0 },
  292. { "matrix": [4, 5], "x": 11, "y": 0 },
  293. { "matrix": [1, 0], "x": 0, "y": 1 },
  294. { "matrix": [1, 1], "x": 1, "y": 1 },
  295. { "matrix": [1, 2], "x": 2, "y": 1 },
  296. { "matrix": [1, 3], "x": 3, "y": 1 },
  297. { "matrix": [1, 4], "x": 4, "y": 1 },
  298. { "matrix": [1, 5], "x": 5, "y": 1 },
  299. { "matrix": [5, 0], "x": 6, "y": 1 },
  300. { "matrix": [5, 1], "x": 7, "y": 1 },
  301. { "matrix": [5, 2], "x": 8, "y": 1 },
  302. { "matrix": [5, 3], "x": 9, "y": 1 },
  303. { "matrix": [5, 4], "x": 10, "y": 1 },
  304. { "matrix": [5, 5], "x": 11, "y": 1 },
  305. { "matrix": [2, 0], "x": 0, "y": 2 },
  306. { "matrix": [2, 1], "x": 1, "y": 2 },
  307. { "matrix": [2, 2], "x": 2, "y": 2 },
  308. { "matrix": [2, 3], "x": 3, "y": 2 },
  309. { "matrix": [2, 4], "x": 4, "y": 2 },
  310. { "matrix": [2, 5], "x": 5, "y": 2 },
  311. { "matrix": [6, 0], "x": 6, "y": 2 },
  312. { "matrix": [6, 1], "x": 7, "y": 2 },
  313. { "matrix": [6, 2], "x": 8, "y": 2 },
  314. { "matrix": [6, 3], "x": 9, "y": 2 },
  315. { "matrix": [6, 4], "x": 10, "y": 2 },
  316. { "matrix": [6, 5], "x": 11, "y": 2 },
  317. { "matrix": [3, 0], "x": 0, "y": 3 },
  318. { "matrix": [3, 1], "x": 1, "y": 3 },
  319. { "matrix": [3, 2], "x": 2, "y": 3 },
  320. { "matrix": [7, 3], "x": 3, "y": 3 },
  321. { "matrix": [7, 5], "x": 4, "y": 3, "w": 2 },
  322. { "matrix": [7, 1], "x": 6, "y": 3, "w": 2 },
  323. { "matrix": [7, 2], "x": 8, "y": 3 },
  324. { "matrix": [3, 3], "x": 9, "y": 3 },
  325. { "matrix": [3, 4], "x": 10, "y": 3 },
  326. { "matrix": [3, 5], "x": 11, "y": 3 }
  327. ]
  328. }
  329. }
  330. }