light_layers.h 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. // Copyright 2022 Ignacy Radliński (@radlinskii)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. /*
  5. LED index mapping:
  6. (31) (32) (33) (67) (66) (65)
  7. ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  8. │0 │1 │2 │3 │4 │5 │ │39 │38 │37 │36 │35 │34 │
  9. ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  10. │11 │10 │9 │8 │7 │6 │ │40 │41 │42 │43 │44 │45 │
  11. ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  12. │12 │13 │14 │15 │16 │17 │ │51 │50 │49 │48 │47 │46 │
  13. ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  14. │23 │22 │21 │20 │19 │18 │27 │ │61 │52 │53 │54 │55 │56 │57 │
  15. └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  16. │24 │25 │26 │ │60 │59 │58 │
  17. └────────┴────────┴────────┘ └────────┴────────┴────────┘
  18. (30) (29) (28) (62) (63) (64)
  19. */
  20. const rgblight_segment_t PROGMEM COLEMAK_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  21. // left side
  22. {0, 6, 127, 255, 255},
  23. {6, 6, 115, 255, 255},
  24. {12, 6, 97, 255, 255},
  25. {18, 6, 90, 255, 255},
  26. {24, 1, 85, 255, 255},
  27. {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
  28. {26, 2, 85, 255, 255},
  29. {28, 3, 85, 255, 255}, // underglow
  30. {31, 3, 127, 255, 255}, // underglow
  31. // right side
  32. {34, 6, 127, 255, 255},
  33. {40, 6, 115, 255, 255},
  34. {46, 6, 97, 255, 255},
  35. {52, 6, 90, 255, 255},
  36. {58, 1, 85, 255, 255},
  37. {59, 1, 201, 255, 255}, // TT(_NAV)
  38. {60, 2, 85, 255, 255},
  39. {62, 3, 85, 255, 255}, // underglow
  40. {65, 3, 127, 255, 255} // underglow
  41. );
  42. const rgblight_segment_t PROGMEM QWERTY_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  43. // left side
  44. {0, 6, 85, 0, 255},
  45. {6, 6, 85, 70, 255},
  46. {12, 6, 85, 150, 255},
  47. {18, 6, 85, 240, 255},
  48. {24, 1, 85, 255, 255},
  49. {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
  50. {26, 2, 85, 255, 255},
  51. {28, 3, 85, 255, 255}, // underglow
  52. {31, 3, 85, 0, 255}, // underglow
  53. // right side
  54. {34, 6, 85, 0, 255},
  55. {40, 6, 85, 70, 255},
  56. {46, 6, 85, 150, 255},
  57. {52, 6, 85, 240, 255},
  58. {58, 1, 85, 255, 255},
  59. {59, 1, 201, 255, 255}, // TT(_NAV)
  60. {60, 2, 85, 255, 255},
  61. {62, 3, 85, 255, 255}, // underglow
  62. {65, 3, 85, 0, 255} // underglow
  63. );
  64. const rgblight_segment_t PROGMEM NUM_SYM_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  65. // left side
  66. {0, 6, 201, 255, 255},
  67. {6, 6, 191, 255, 255},
  68. {12, 6, 181, 255, 255},
  69. {18, 6, 171, 255, 255},
  70. {24, 1, 169, 255, 255},
  71. {25, 1, 85, 255, 255}, // TO(DEFAULT)
  72. {26, 2, 169, 255, 255},
  73. {28, 3, 169, 255, 255}, // underglow
  74. {31, 3, 201, 255, 255}, // underglow
  75. // right side
  76. {34, 6, 201, 255, 255},
  77. {40, 6, 191, 255, 255},
  78. {46, 6, 181, 255, 255},
  79. {52, 6, 171, 255, 255},
  80. {58, 1, 169, 255, 255},
  81. {59, 1, 201, 255, 255}, // TO(_NAV)
  82. {60, 2, 169, 255, 255},
  83. {62, 3, 169, 255, 255}, // underglow
  84. {65, 3, 201, 255, 255} // underglow
  85. );
  86. const rgblight_segment_t PROGMEM NAV_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  87. // left side
  88. {0, 6, 248, 255, 255},
  89. {6, 6, 240, 255, 255},
  90. {12, 6, 225, 255, 255},
  91. {18, 6, 210, 255, 255},
  92. {24, 1, 201, 255, 255},
  93. {25, 1, 85, 255, 255}, // TO(DEFAULT)
  94. {26, 2, 201, 255, 255},
  95. {28, 3, 201, 255, 255}, // underglow
  96. {31, 3, 248, 255, 255}, // underglow
  97. // right side
  98. {34, 6, 248, 255, 255},
  99. {40, 6, 240, 255, 255},
  100. {46, 6, 225, 255, 255},
  101. {52, 6, 210, 255, 255},
  102. {58, 1, 201, 255, 255},
  103. {59, 1, 43, 255, 255}, // TO(_MOUSE)
  104. {60, 2, 201, 255, 255},
  105. {62, 3, 201, 255, 255}, // underglow
  106. {65, 3, 248, 255, 255} // underglow
  107. );
  108. const rgblight_segment_t PROGMEM MOUSE_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  109. // left side
  110. {0, 6, 4, 255, 255},
  111. {6, 6, 10, 255, 255},
  112. {12, 6, 25, 255, 255},
  113. {18, 6, 40, 255, 255},
  114. {24, 1, 43, 255, 255},
  115. {25, 1, 85, 255, 255}, // TO(DEFAULT)
  116. {26, 2, 43, 255, 255},
  117. {28, 3, 43, 255, 255}, // underglow
  118. {31, 3, 4, 255, 255}, // underglow
  119. // right side
  120. {34, 6, 4, 255, 255},
  121. {40, 6, 10, 255, 255},
  122. {46, 1, 0, 255, 255}, // TO(_MEDIA_MISC)
  123. {47, 5, 25, 255, 255},
  124. {52, 6, 40, 255, 255},
  125. {58, 1, 43, 255, 255},
  126. {59, 1, 201, 255, 255}, // TO(_NAV)
  127. {60, 2, 43, 255, 255},
  128. {62, 3, 43, 255, 255}, // underglow
  129. {65, 3, 4, 255, 255} // underglow
  130. );
  131. const rgblight_segment_t PROGMEM MEDIA_MISC_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
  132. // both sides
  133. {0, 1, 0, 255, 255}, // RESET
  134. {1, 4, 0, 0, 0},
  135. {5, 1, 85, 0, 255}, // set QWERTY as default
  136. {6, 2, 0, 0, 0},
  137. {8, 1, 160, 150, 150}, // MUTE
  138. {9, 3, 0, 0, 0},
  139. {12, 1, 201, 255, 255}, // CAPS
  140. {13, 1, 120, 255, 255}, // PLAY
  141. {14, 1, 0, 255, 255}, // NEXT
  142. {15, 1, 160, 255, 255}, // VOLUME_UP
  143. {16, 1, 43, 255, 255}, // BRIGHTNESS_UP
  144. {17, 2, 0, 0, 0},
  145. {19, 1, 43, 200, 200}, // BRIGHTNESS_DOWN
  146. {20, 1, 160, 220, 200}, // VOLUME_DOWN
  147. {21, 1, 0, 220, 200}, // PREV
  148. {22, 1, 120, 220, 200}, // STOP
  149. {23, 2, 0, 0, 0},
  150. {25, 1, 85, 255, 255}, // TO(DEFAULT)
  151. {26, 2, 0, 0, 0},
  152. {28, 6, 0, 255, 255}, // underglow
  153. {34, 5, 0, 0, 0},
  154. {39, 1, 127, 255, 255}, // set COLEMAK as default
  155. {40, 19, 0, 0, 0},
  156. {59, 1, 85, 255, 255}, // TO(DEFAULT)
  157. {60, 2, 0, 0, 0},
  158. {62, 6, 0, 255, 255} // underglow
  159. );
  160. const rgblight_segment_t* const PROGMEM MY_LIGHT_LAYERS[] = RGBLIGHT_LAYERS_LIST(
  161. COLEMAK_LIGHT_LAYER,
  162. QWERTY_LIGHT_LAYER,
  163. NUM_SYM_LIGHT_LAYER,
  164. NAV_LIGHT_LAYER,
  165. MOUSE_LIGHT_LAYER,
  166. MEDIA_MISC_LIGHT_LAYER
  167. );