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.

243 lines
10 KiB

  1. /* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #include "quantum.h"
  17. #ifdef RGB_MATRIX_ENABLE
  18. // clang-format off
  19. led_config_t g_led_config = {{
  20. { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 },
  21. { 8, 2, 9, 0, 10, 76, 1, 7 },
  22. { 14, 3, 15, 67, 16, 87, 6, 13 },
  23. { 20, 18, 21, 23, 22, 94, 12, 19 },
  24. { 25, 30, 26, 31, 27, 32, 29, 24 },
  25. { 41, 36, 42, 37, 43, 38, 35, 40 },
  26. { 46, 90, 47, 34, 48, 73, 79, 45 },
  27. { 52, 39, 53, 98, 54, 83, 44, 51 },
  28. { 58, 63, 59, 64, 95, 60, 62, 57 },
  29. { 11, 91, 55, 17, 33, 49, NO_LED, 70 },
  30. { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 }
  31. }, {
  32. {0, 0}, // 0, ESC, k13
  33. {0, 15}, // 1, `, k16
  34. {4, 26}, // 2, Tab, k11
  35. {5, 38}, // 3, Caps, k21
  36. {2, 49}, // 4, Sh_L, k00
  37. {2, 61}, // 5, Ct_L, k06
  38. {18, 0}, // 6, F1, k26
  39. {14, 15}, // 7, 1, k17
  40. {22, 26}, // 8, Q, k10
  41. {25, 38}, // 9, A, k12
  42. {33, 49}, // 10, Z, k14
  43. {20, 61}, // 11, Win_L, k90
  44. {33, 0}, // 12, F2, k36
  45. {29, 15}, // 13, 2, k27
  46. {36, 26}, // 14, W, k20
  47. {40, 38}, // 15, S, k22
  48. {47, 49}, // 16, X, k24
  49. {38, 61}, // 17, Alt_L, k93
  50. {47, 0}, // 18, F3, k31
  51. {43, 15}, // 19, 3, k37
  52. {51, 26}, // 20, E, k30
  53. {54, 38}, // 21, D, k32
  54. {61, 49}, // 22, C, k34
  55. {61, 0}, // 23, F4, k33
  56. {58, 15}, // 24, 4, k47
  57. {65, 26}, // 25, R, k40
  58. {69, 38}, // 26, F, k42
  59. {76, 49}, // 27, V, k44
  60. {79, 0}, // 28, F5, k07
  61. {72, 15}, // 29, 5, k46
  62. {79, 26}, // 30, T, k41
  63. {83, 38}, // 31, G, k43
  64. {90, 49}, // 32, B, k45
  65. {92, 61}, // 33, SPACE, k94
  66. {94, 0}, // 34, F6, k63
  67. {87, 15}, // 35, 6, k56
  68. {94, 26}, // 36, Y, k51
  69. {98, 38}, // 37, H, k53
  70. {105, 49}, // 38, N, k55
  71. {108, 0}, // 39, F7, k71
  72. {101, 15}, // 40, 7, k57
  73. {108, 26}, // 41, U, k50
  74. {112, 38}, // 42, J, k52
  75. {119, 49}, // 43, M, k54
  76. {123, 0}, // 44, F8, k76
  77. {116, 15}, // 45, 8, k67
  78. {123, 26}, // 46, I, k60
  79. {126, 38}, // 47, K, k62
  80. {134, 49}, // 48, ,, k64
  81. {145, 61}, // 49, Alt_R, k95
  82. {141, 0}, // 50, F9, ka6
  83. {130, 15}, // 51, 9, k77
  84. {137, 26}, // 52, O, k70
  85. {141, 38}, // 53, L, k72
  86. {148, 49}, // 54, ., k74
  87. {159, 61}, // 55, FN, k92
  88. {155, 0}, // 56, F10, ka7
  89. {145, 15}, // 57, 0, k87
  90. {152, 26}, // 58, P, k80
  91. {155, 38}, // 59, ;, k82
  92. {163, 49}, // 60, /, k85
  93. {170, 0}, // 61, F11, ka3
  94. {159, 15}, // 62, -, k86
  95. {166, 26}, // 63, [, k81
  96. {170, 38}, // 64, ", k83
  97. {173, 61}, // 65, Ct_R, k04
  98. {184, 0}, // 66, F12, ka5
  99. {18, 49}, // 67, \, k23
  100. {0, 8}, // 68, LED, l01
  101. {224, 8}, // 69, LED, l11
  102. {202, 0}, // 70, Prt, k97
  103. {0, 15}, // 71, LED, l02
  104. {224, 15}, // 72, LED, l12
  105. {224, 15}, // 73, Del, k65
  106. {0, 21}, // 74, LED, l03
  107. {224, 21}, // 75, LED, l13
  108. {224, 26}, // 76, PgUp, k15
  109. {0, 28}, // 77, LED, l04
  110. {224, 28}, // 78, LED, l14
  111. {173, 15}, // 79, =, k66
  112. {220, 64}, // 80, Right, k05
  113. {0, 35}, // 81, LED, l05
  114. {224, 35}, // 82, LED, l15
  115. {224, 49}, // 83, End, k75
  116. {0, 42}, // 84, LED, l06
  117. {224, 42}, // 85, LED, l16
  118. {195, 15}, // 86, BSpc, ka1
  119. {224, 38}, // 87, PgDn, k25
  120. {0, 48}, // 88, LED, l07
  121. {224, 48}, // 89, LED, l17
  122. {181, 26}, // 90, ], k61
  123. {182, 49}, // 91, Sh_R, k91
  124. {0, 55}, // 92, LED, l08
  125. {224, 55}, // 93, LED, l18
  126. {206, 52}, // 94, Up, k35
  127. {184, 38}, // 95, #, k84
  128. {191, 64}, // 96, Left, k03
  129. {201, 26}, // 97, Enter, ka4
  130. {206, 64}, // 98, Down, k73
  131. }, {
  132. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  133. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
  134. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2,
  135. 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
  136. }};
  137. const aw20216s_led g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = {
  138. {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
  139. {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
  140. {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
  141. {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
  142. {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
  143. {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
  144. {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
  145. {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
  146. {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
  147. {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
  148. {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
  149. {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
  150. {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
  151. {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
  152. {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
  153. {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
  154. {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
  155. {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
  156. {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
  157. {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
  158. {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
  159. {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
  160. {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
  161. {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
  162. {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
  163. {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
  164. {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
  165. {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
  166. {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
  167. {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
  168. {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
  169. {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
  170. {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
  171. {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
  172. {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
  173. {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
  174. {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
  175. {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
  176. {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
  177. {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
  178. {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
  179. {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
  180. {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
  181. {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
  182. {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
  183. {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
  184. {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
  185. {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
  186. {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
  187. {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
  188. {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
  189. {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
  190. {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
  191. {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
  192. {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
  193. {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
  194. {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
  195. {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
  196. {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
  197. {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
  198. {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
  199. {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
  200. {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
  201. {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
  202. {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
  203. {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
  204. {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
  205. {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
  206. {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
  207. {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
  208. {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
  209. {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
  210. {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
  211. {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
  212. {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
  213. {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
  214. {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
  215. {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
  216. {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
  217. {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
  218. {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
  219. {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
  220. {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
  221. {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
  222. {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
  223. {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
  224. {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
  225. {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
  226. {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
  227. {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
  228. {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
  229. {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
  230. {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
  231. {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
  232. {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
  233. {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
  234. {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
  235. {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
  236. {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
  237. };
  238. // clang-format on
  239. #endif