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.

181 lines
7.1 KiB

  1. /* Copyright 2017 Clueboard <info@clueboard.co>
  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 "gen1.h"
  17. #ifdef LED_MATRIX_ENABLE
  18. #include "is31fl3731-simple.h"
  19. const is31_led g_is31_leds[LED_DRIVER_LED_COUNT] = {
  20. /* Refer to IS31 manual for these locations
  21. * driver
  22. * | LED address
  23. * | | */
  24. {0, C1_1}, // k00 KC_GESC
  25. {0, C1_2}, // k01 KC_1
  26. {0, C1_3}, // k02 KC_2
  27. {0, C1_4}, // k03 KC_3
  28. {0, C1_5}, // k04 KC_4
  29. {0, C1_6}, // k05 KC_5
  30. {0, C1_7}, // k06 KC_6
  31. {0, C1_8}, // k07 KC_7
  32. {0, C1_9}, // k50 KC_8
  33. {0, C1_10}, // k51 KC_9
  34. {0, C1_11}, // k52 KC_0
  35. {0, C1_12}, // k53 KC_MINS
  36. {0, C1_13}, // k54 KC_EQL
  37. {0, C1_14}, // k55 KC_BSPC
  38. {0, C1_15}, // k57 KC_PGUP
  39. {0, C2_1}, // k10 KC_TAB
  40. {0, C2_2}, // k11 KC_Q
  41. {0, C2_3}, // k12 KC_W
  42. {0, C2_4}, // k13 KC_E
  43. {0, C2_5}, // k14 KC_R
  44. {0, C2_6}, // k15 KC_T
  45. {0, C2_7}, // k16 KC_Y
  46. {0, C2_8}, // k17 KC_U
  47. {0, C2_9}, // k60 KC_I
  48. {0, C2_10}, // k61 KC_O
  49. {0, C2_11}, // k62 KC_P
  50. {0, C2_12}, // k63 KC_LBRC
  51. {0, C2_13}, // k64 KC_RBRC
  52. {0, C2_14}, // k65 KC_BSLS
  53. {0, C2_15}, // k67 KC_PGDN
  54. {0, C3_1}, // k20 KC_CAPS
  55. {0, C3_2}, // k21 KC_A
  56. {0, C3_3}, // k22 KC_S
  57. {0, C3_4}, // k23 KC_D
  58. {0, C3_5}, // k24 KC_F
  59. {0, C3_6}, // k25 KC_G
  60. {0, C3_7}, // k26 KC_H
  61. {0, C3_8}, // k27 KC_J
  62. {0, C3_9}, // k70 KC_K
  63. {0, C3_10}, // k71 KC_L
  64. {0, C3_11}, // k72 KC_SCLN
  65. {0, C3_12}, // k73 KC_QUOT
  66. {0, C3_14}, // k75 KC_ENT
  67. {0, C4_1}, // k30 KC_LSFT
  68. {0, C4_3}, // k32 KC_Z
  69. {0, C4_4}, // k33 KC_X
  70. {0, C4_5}, // k34 KC_C
  71. {0, C4_6}, // k35 KC_V
  72. {0, C4_7}, // k36 KC_B
  73. {0, C4_8}, // k37 KC_N
  74. {0, C4_9}, // k80 KC_M
  75. {0, C4_10}, // k81 KC_COMM
  76. {0, C4_11}, // k82 KC_DOT
  77. {0, C4_12}, // k83 KC_SLSH
  78. {0, C4_13}, // k85 KC_RSFT
  79. {0, C4_14}, // k86 KC_UP
  80. {0, C5_1}, // k40 KC_LCTL
  81. {0, C5_2}, // k41 KC_LGUI
  82. {0, C5_3}, // k42 KC_LALT
  83. {0, C5_4}, // Unassociated between LALT and SPACE_2.75
  84. {0, C5_5}, // k45 KC_SPC SPACE_2.75
  85. {0, C5_6}, // k45 KC_SPC SPACE_6.75
  86. {0, C5_7}, // k46 KC_SPC SPACE_2.25
  87. {0, C5_8}, // Unassociated between SPACE_2.25 and SPACE_1.25
  88. {0, C5_9}, // k90 KC_RGUI
  89. {0, C5_10}, // k92 KC_RALT
  90. {0, C5_11}, // k93 MO(_FL)
  91. {0, C5_12}, // k94 KC_RCTL
  92. {0, C5_13}, // k95 KC_LEFT
  93. {0, C5_14}, // k96 KC_DOWN
  94. {0, C5_15} // k97 KC_RGHT
  95. };
  96. const led_matrix g_leds[LED_DRIVER_LED_COUNT] = {
  97. /*{row | col << 4}
  98. | LED_ROW_COL(row, col)
  99. | | modifier
  100. | | | */
  101. {{0|(1<<4)}, {0, 0}, 1}, // k00 KC_GESC
  102. {{0|(2<<4)}, {14.45, 0}, 0}, // k01 KC_1
  103. {{0|(3<<4)}, {28.9, 0}, 0}, // k02 KC_2
  104. {{0|(4<<4)}, {43.35, 0}, 0}, // k03 KC_3
  105. {{0|(5<<4)}, {57.8, 0}, 0}, // k04 KC_4
  106. {{0|(6<<4)}, {72.25, 0}, 0}, // k05 KC_5
  107. {{0|(7<<4)}, {86.7, 0}, 0}, // k06 KC_6
  108. {{0|(8<<4)}, {101.2, 0}, 0}, // k07 KC_7
  109. {{0|(9<<4)}, {115.6, 0}, 0}, // k50 KC_8
  110. {{0|(10<<4)}, {130, 0}, 0}, // k51 KC_9
  111. {{0|(11<<4)}, {144.5, 0}, 0}, // k52 KC_0
  112. {{0|(12<<4)}, {159, 0}, 0}, // k53 KC_MINS
  113. {{0|(13<<4)}, {173.4, 0}, 0}, // k54 KC_EQL
  114. {{0|(14<<4)}, {195.1, 0}, 1}, // k55 KC_BSPC
  115. {{0|(15<<4)}, {224, 0}, 1}, // k57 KC_PGUP
  116. {{1|(0<<4)}, {3.6125, 16}, 1}, // k10 KC_TAB
  117. {{1|(1<<4)}, {21.675, 16}, 0}, // k11 KC_Q
  118. {{1|(2<<4)}, {36.125, 16}, 0}, // k12 KC_W
  119. {{1|(3<<4)}, {50.575, 16}, 0}, // k13 KC_E
  120. {{1|(4<<4)}, {65.025, 16}, 0}, // k14 KC_R
  121. {{1|(5<<4)}, {79.475, 16}, 0}, // k15 KC_T
  122. {{1|(6<<4)}, {93.925, 16}, 0}, // k16 KC_Y
  123. {{1|(7<<4)}, {108.375, 16}, 0}, // k17 KC_U
  124. {{1|(8<<4)}, {122.825, 16}, 0}, // k60 KC_I
  125. {{1|(9<<4)}, {137.275, 16}, 0}, // k61 KC_O
  126. {{1|(10<<4)}, {151.725, 16}, 0}, // k62 KC_P
  127. {{1|(11<<4)}, {166.175, 16}, 0}, // k63 KC_LBRC
  128. {{1|(12<<4)}, {180.625, 16}, 0}, // k64 KC_RBRC
  129. {{1|(13<<4)}, {198.6875, 16}, 1}, // k65 KC_BSLS
  130. {{1|(14<<4)}, {224, 16}, 1}, // k67 KC_PGDN
  131. {{2|(0<<4)}, {5.41875, 32}, 1}, // k20 KC_CAPS
  132. {{2|(1<<4)}, {25.2875, 32}, 0}, // k21 KC_A
  133. {{2|(2<<4)}, {39.7375, 32}, 0}, // k22 KC_S
  134. {{2|(3<<4)}, {54.1875, 32}, 0}, // k23 KC_D
  135. {{2|(4<<4)}, {68.6375, 32}, 0}, // k24 KC_F
  136. {{2|(5<<4)}, {83.0875, 32}, 0}, // k25 KC_G
  137. {{2|(6<<4)}, {97.5375, 32}, 0}, // k26 KC_H
  138. {{2|(7<<4)}, {111.9875, 32}, 0}, // k27 KC_J
  139. {{2|(8<<4)}, {126.4375, 32}, 0}, // k70 KC_K
  140. {{2|(9<<4)}, {140.8875, 32}, 0}, // k71 KC_L
  141. {{2|(10<<4)}, {155.3375, 32}, 0}, // k72 KC_SCLN
  142. {{2|(11<<4)}, {169.7875, 32}, 0}, // k73 KC_QUOT
  143. {{2|(12<<4)}, {184.2375, 32}, 1}, // k75 KC_ENT
  144. {{3|(0<<4)}, {16.25625, 48}, 1}, // k30 KC_LSFT
  145. {{3|(1<<4)}, {32.5125, 48}, 0}, // k32 KC_Z
  146. {{3|(2<<4)}, {46.9625, 48}, 0}, // k33 KC_X
  147. {{3|(3<<4)}, {61.4125, 48}, 0}, // k34 KC_C
  148. {{3|(4<<4)}, {75.8625, 48}, 0}, // k35 KC_V
  149. {{3|(5<<4)}, {90.3125, 48}, 0}, // k36 KC_B
  150. {{3|(6<<4)}, {104.7625, 48}, 0}, // k37 KC_N
  151. {{3|(7<<4)}, {119.2125, 48}, 0}, // k80 KC_M
  152. {{3|(8<<4)}, {133.6625, 48}, 0}, // k81 KC_COMM
  153. {{3|(9<<4)}, {148.1125, 48}, 0}, // k82 KC_DOT
  154. {{3|(10<<4)}, {162.5625, 48}, 0}, // k83 KC_SLSH
  155. {{3|(11<<4)}, {187.85, 48}, 1}, // k85 KC_RSFT
  156. {{3|(12<<4)}, {209.525, 48}, 1}, // k86 KC_UP
  157. {{4|(0<<4)}, {9.03125, 64}, 1}, // k40 KC_LCTL
  158. {{4|(1<<4)}, {27.09375, 64}, 1}, // k41 KC_LGUI
  159. {{4|(2<<4)}, {45.15625, 64}, 1}, // k42 KC_LALT
  160. {{4|(3<<4)}, {59.45, 64}, 1}, // Unassociated between LALT and SPACE_2.75
  161. {{4|(4<<4)}, {73.9, 64}, 1}, // k45 KC_SPC SPACE_2.75
  162. {{4|(5<<4)}, {88.35, 64}, 1}, // k45 KC_SPC SPACE_6.25
  163. {{4|(6<<4)}, {102.8, 64}, 1}, // k46 KC_SPC SPACE_2.25
  164. {{4|(7<<4)}, {117.40625, 64}, 1}, // Unassociated between SPACE_2.25 and SPACE_2.75
  165. {{4|(8<<4)}, {135.46875, 64}, 1}, // k90 KC_RGUI
  166. {{4|(9<<4)}, {153.53125, 64}, 1}, // k92 KC_RALT
  167. {{4|(10<<4)}, {167.98125, 64}, 1}, // k93 MO(_FL)
  168. {{4|(11<<4)}, {186.04375, 64}, 1}, // k94 KC_RCTL
  169. {{4|(12<<4)}, {195.075, 64}, 1}, // k95 KC_LEFT
  170. {{4|(13<<4)}, {209.525, 64}, 1}, // k96 KC_DOWN
  171. {{4|(14<<4)}, {224, 64}, 1} // k97 KC_RGHT
  172. };
  173. #endif