keyboard.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. {
  2. "manufacturer": "Ryan Neff",
  3. "keyboard_name": "Sofle Pico",
  4. "maintainer": "Ryan Neff <github@JellyTitan.com>",
  5. "bootloader": "rp2040",
  6. "bootloader_instructions": "Hold the BOOT button while plugging in the usb cable",
  7. "diode_direction": "COL2ROW",
  8. "encoder": {
  9. "rotary": [
  10. {"pin_a": "GP14", "pin_b": "GP15"}
  11. ]
  12. },
  13. "features": {
  14. "bootmagic": true,
  15. "encoder": true,
  16. "extrakey": true,
  17. "mousekey": true,
  18. "nkro": true,
  19. "oled": true,
  20. "rgb_matrix": true
  21. },
  22. "matrix_pins": {
  23. "cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP8"],
  24. "rows": ["GP9", "GP10", "GP11", "GP12", "GP13"]
  25. },
  26. "processor": "RP2040",
  27. "rgb_matrix": {
  28. "animations": {
  29. "band_pinwheel_sat": true,
  30. "band_pinwheel_val": true,
  31. "band_sat": true,
  32. "band_spiral_sat": true,
  33. "band_spiral_val": true,
  34. "band_val": true,
  35. "breathing": true,
  36. "cycle_all": true,
  37. "cycle_left_right": true,
  38. "cycle_out_in": true,
  39. "cycle_out_in_dual": true,
  40. "cycle_pinwheel": true,
  41. "cycle_spiral": true,
  42. "cycle_up_down": true,
  43. "digital_rain": true,
  44. "dual_beacon": true,
  45. "gradient_left_right": true,
  46. "gradient_up_down": true,
  47. "hue_breathing": true,
  48. "hue_pendulum": true,
  49. "hue_wave": true,
  50. "jellybean_raindrops": true,
  51. "multisplash": true,
  52. "pixel_flow": true,
  53. "pixel_rain": true,
  54. "rainbow_beacon": true,
  55. "rainbow_moving_chevron": true,
  56. "rainbow_pinwheels": true,
  57. "raindrops": true,
  58. "solid_multisplash": true,
  59. "solid_reactive": true,
  60. "solid_reactive_cross": true,
  61. "solid_reactive_multicross": true,
  62. "solid_reactive_multinexus": true,
  63. "solid_reactive_multiwide": true,
  64. "solid_reactive_nexus": true,
  65. "solid_reactive_simple": true,
  66. "solid_reactive_wide": true,
  67. "solid_splash": true,
  68. "splash": true,
  69. "typing_heatmap": true
  70. },
  71. "default": {
  72. "animation": "cycle_out_in_dual",
  73. "speed": 16
  74. },
  75. "driver": "ws2812",
  76. "layout": [
  77. {"matrix": [0, 5], "x": 95, "y": 7, "flags": 4},
  78. {"matrix": [1, 5], "x": 95, "y": 21, "flags": 4},
  79. {"matrix": [2, 5], "x": 95, "y": 36, "flags": 4},
  80. {"matrix": [3, 5], "x": 95, "y": 50, "flags": 4},
  81. {"matrix": [4, 4], "x": 115, "y": 64, "flags": 4},
  82. {"matrix": [4, 3], "x": 95, "y": 64, "flags": 4},
  83. {"matrix": [4, 2], "x": 76, "y": 62, "flags": 4},
  84. {"matrix": [3, 4], "x": 76, "y": 48, "flags": 4},
  85. {"matrix": [2, 4], "x": 76, "y": 33, "flags": 4},
  86. {"matrix": [1, 4], "x": 76, "y": 19, "flags": 4},
  87. {"matrix": [0, 4], "x": 76, "y": 5, "flags": 4},
  88. {"matrix": [0, 3], "x": 57, "y": 3, "flags": 4},
  89. {"matrix": [1, 3], "x": 57, "y": 17, "flags": 4},
  90. {"matrix": [2, 3], "x": 57, "y": 31, "flags": 4},
  91. {"matrix": [3, 3], "x": 57, "y": 46, "flags": 4},
  92. {"matrix": [4, 1], "x": 57, "y": 62, "flags": 4},
  93. {"matrix": [4, 0], "x": 38, "y": 64, "flags": 4},
  94. {"matrix": [3, 2], "x": 38, "y": 48, "flags": 4},
  95. {"matrix": [2, 2], "x": 38, "y": 33, "flags": 4},
  96. {"matrix": [1, 2], "x": 38, "y": 19, "flags": 4},
  97. {"matrix": [0, 2], "x": 38, "y": 5, "flags": 4},
  98. {"matrix": [0, 1], "x": 19, "y": 7, "flags": 4},
  99. {"matrix": [1, 1], "x": 19, "y": 21, "flags": 4},
  100. {"matrix": [2, 1], "x": 19, "y": 36, "flags": 4},
  101. {"matrix": [3, 1], "x": 19, "y": 50, "flags": 4},
  102. {"matrix": [3, 0], "x": 0, "y": 50, "flags": 4},
  103. {"matrix": [2, 0], "x": 0, "y": 36, "flags": 4},
  104. {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
  105. {"matrix": [0, 0], "x": 0, "y": 7, "flags": 4},
  106. {"matrix": [5, 5], "x": 129, "y": 7, "flags": 4},
  107. {"matrix": [6, 5], "x": 129, "y": 21, "flags": 4},
  108. {"matrix": [7, 5], "x": 129, "y": 36, "flags": 4},
  109. {"matrix": [8, 5], "x": 129, "y": 50, "flags": 4},
  110. {"matrix": [9, 4], "x": 119, "y": 64, "flags": 4},
  111. {"matrix": [9, 3], "x": 129, "y": 64, "flags": 4},
  112. {"matrix": [9, 2], "x": 148, "y": 62, "flags": 4},
  113. {"matrix": [8, 4], "x": 148, "y": 48, "flags": 4},
  114. {"matrix": [7, 4], "x": 148, "y": 33, "flags": 4},
  115. {"matrix": [6, 4], "x": 148, "y": 19, "flags": 4},
  116. {"matrix": [5, 4], "x": 148, "y": 5, "flags": 4},
  117. {"matrix": [5, 3], "x": 167, "y": 3, "flags": 4},
  118. {"matrix": [6, 3], "x": 167, "y": 17, "flags": 4},
  119. {"matrix": [7, 3], "x": 167, "y": 31, "flags": 4},
  120. {"matrix": [8, 3], "x": 167, "y": 46, "flags": 4},
  121. {"matrix": [9, 1], "x": 167, "y": 62, "flags": 4},
  122. {"matrix": [9, 0], "x": 186, "y": 64, "flags": 4},
  123. {"matrix": [8, 2], "x": 186, "y": 48, "flags": 4},
  124. {"matrix": [7, 2], "x": 186, "y": 33, "flags": 4},
  125. {"matrix": [6, 2], "x": 186, "y": 19, "flags": 4},
  126. {"matrix": [5, 2], "x": 186, "y": 5, "flags": 4},
  127. {"matrix": [5, 1], "x": 209, "y": 7, "flags": 4},
  128. {"matrix": [6, 1], "x": 209, "y": 21, "flags": 4},
  129. {"matrix": [7, 1], "x": 209, "y": 36, "flags": 4},
  130. {"matrix": [8, 1], "x": 209, "y": 50, "flags": 4},
  131. {"matrix": [8, 0], "x": 224, "y": 50, "flags": 4},
  132. {"matrix": [7, 0], "x": 224, "y": 36, "flags": 4},
  133. {"matrix": [6, 0], "x": 224, "y": 21, "flags": 4},
  134. {"matrix": [5, 0], "x": 224, "y": 7, "flags": 4}
  135. ],
  136. "max_brightness": 127,
  137. "sleep": true,
  138. "split_count": [29, 29]
  139. },
  140. "split": {
  141. "bootmagic": {
  142. "matrix": [5, 0]
  143. },
  144. "enabled": true,
  145. "encoder": {
  146. "right": {
  147. "rotary": [
  148. {"pin_a": "GP14", "pin_b": "GP15"}
  149. ]
  150. }
  151. },
  152. "serial": {
  153. "driver": "vendor"
  154. },
  155. "transport": {
  156. "sync": {
  157. "layer_state": true,
  158. "matrix_state": true
  159. }
  160. }
  161. },
  162. "tags": ["ortho", "split", "rgb", "encoder", "OLED", "128x64", "tenting_puck"],
  163. "url": "https://github.com/JellyTitan/Sofle-Pico",
  164. "usb": {
  165. "device_version": "3.5.4",
  166. "pid": "0x5350",
  167. "vid": "0x4A54"
  168. },
  169. "ws2812": {
  170. "driver": "vendor",
  171. "pin": "GP0"
  172. },
  173. "layouts": {
  174. "LAYOUT": {
  175. "layout": [
  176. {"label": "`", "matrix": [0, 0], "x": 0, "y": 0.7},
  177. {"label": "1", "matrix": [0, 1], "x": 1, "y": 0.7},
  178. {"label": "2", "matrix": [0, 2], "x": 2, "y": 0.3},
  179. {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
  180. {"label": "4", "matrix": [0, 4], "x": 4, "y": 0.3},
  181. {"label": "5", "matrix": [0, 5], "x": 5, "y": 0.45},
  182. {"label": "6", "matrix": [5, 5], "x": 9, "y": 0.45},
  183. {"label": "7", "matrix": [5, 4], "x": 10, "y": 0.3},
  184. {"label": "8", "matrix": [5, 3], "x": 11, "y": 0},
  185. {"label": "9", "matrix": [5, 2], "x": 12, "y": 0.3},
  186. {"label": "0", "matrix": [5, 1], "x": 13, "y": 0.7},
  187. {"label": "`", "matrix": [5, 0], "x": 14, "y": 0.7},
  188. {"label": "Esc", "matrix": [1, 0], "x": 0, "y": 1.7},
  189. {"label": "Q", "matrix": [1, 1], "x": 1, "y": 1.7},
  190. {"label": "W", "matrix": [1, 2], "x": 2, "y": 1.3},
  191. {"label": "E", "matrix": [1, 3], "x": 3, "y": 1},
  192. {"label": "R", "matrix": [1, 4], "x": 4, "y": 1.3},
  193. {"label": "T", "matrix": [1, 5], "x": 5, "y": 1.45},
  194. {"label": "Y", "matrix": [6, 5], "x": 9, "y": 1.45},
  195. {"label": "U", "matrix": [6, 4], "x": 10, "y": 1.3},
  196. {"label": "I", "matrix": [6, 3], "x": 11, "y": 1},
  197. {"label": "O", "matrix": [6, 2], "x": 12, "y": 1.3},
  198. {"label": "P", "matrix": [6, 1], "x": 13, "y": 1.7},
  199. {"label": "Bspc", "matrix": [6, 0], "x": 14, "y": 1.7},
  200. {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.7},
  201. {"label": "A", "matrix": [2, 1], "x": 1, "y": 2.7},
  202. {"label": "S", "matrix": [2, 2], "x": 2, "y": 2.3},
  203. {"label": "D", "matrix": [2, 3], "x": 3, "y": 2},
  204. {"label": "F", "matrix": [2, 4], "x": 4, "y": 2.3},
  205. {"label": "G", "matrix": [2, 5], "x": 5, "y": 2.45},
  206. {"label": "H", "matrix": [7, 5], "x": 9, "y": 2.45},
  207. {"label": "J", "matrix": [7, 4], "x": 10, "y": 2.3},
  208. {"label": "K", "matrix": [7, 3], "x": 11, "y": 2},
  209. {"label": "L", "matrix": [7, 2], "x": 12, "y": 2.3},
  210. {"label": ";", "matrix": [7, 1], "x": 13, "y": 2.7},
  211. {"label": "'", "matrix": [7, 0], "x": 14, "y": 2.7},
  212. {"label": "LShift", "matrix": [3, 0], "x": 0, "y": 3.7},
  213. {"label": "Z", "matrix": [3, 1], "x": 1, "y": 3.7},
  214. {"label": "X", "matrix": [3, 2], "x": 2, "y": 3.3},
  215. {"label": "C", "matrix": [3, 3], "x": 3, "y": 3},
  216. {"label": "V", "matrix": [3, 4], "x": 4, "y": 3.3},
  217. {"label": "B", "matrix": [3, 5], "x": 5, "y": 3.45},
  218. {"label": "Mute", "matrix": [4, 5], "x": 6.2, "y": 3.45},
  219. {"label": "Pause", "matrix": [9, 5], "x": 7.8, "y": 3.45},
  220. {"label": "N", "matrix": [8, 5], "x": 9, "y": 3.45},
  221. {"label": "M", "matrix": [8, 4], "x": 10, "y": 3.3},
  222. {"label": ",", "matrix": [8, 3], "x": 11, "y": 3},
  223. {"label": ".", "matrix": [8, 2], "x": 12, "y": 3.3},
  224. {"label": "/", "matrix": [8, 1], "x": 13, "y": 3.7},
  225. {"label": "RShift", "matrix": [8, 0], "x": 14, "y": 3.7},
  226. {"label": "LCtrl", "matrix": [4, 0], "x": 2, "y": 4.3},
  227. {"label": "LGUI", "matrix": [4, 1], "x": 3, "y": 4},
  228. {"label": "LCmnd", "matrix": [4, 2], "x": 4, "y": 4.3},
  229. {"label": "LAlt", "matrix": [4, 3], "x": 5.1, "y": 4.5, "h": 1.5},
  230. {"label": "Enter", "matrix": [4, 4], "x": 6.1, "y": 4.5, "h": 1.5},
  231. {"label": "Space", "matrix": [9, 4], "x": 7.9, "y": 4.5, "h": 1.5},
  232. {"label": "RAlt", "matrix": [9, 3], "x": 8.9, "y": 4.5, "h": 1.5},
  233. {"label": "RCmnd", "matrix": [9, 2], "x": 10, "y": 4.3},
  234. {"label": "RGui", "matrix": [9, 1], "x": 11, "y": 4},
  235. {"label": "RCtrl", "matrix": [9, 0], "x": 12, "y": 4.3}
  236. ]
  237. }
  238. }
  239. }