5 float tone_startup[][2] = SONG(STARTUP_SOUND);
6 float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
10 void led_set_kb(uint8_t usb_led) {
11 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
12 //led_set_user(usb_led);
16 #ifdef RGB_MATRIX_ENABLE
23 // 25 24 19 18 11 10 0
25 // 26 23 20 17 12 09 1
27 // 27 22 21 16 13 08 2
34 // 25 24 19 18 11 10 4
36 // 26 23 20 17 12 09 5
38 // 27 22 21 16 13 08 6
44 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
46 // 25 24 19 18 11 10 10 11 18 19 24 25 0
48 // 26 23 20 17 12 09 09 12 17 20 23 26 1
50 // 27 22 21 16 13 08 08 13 16 21 22 27 2
52 // 15 14 07 07 14 15 3
54 /* {row | col << 4} logical layout rows/cols
55 * | {x=0..224, y=0..64} physical layout
58 const rgb_led g_rgb_leds_left[27] = {
60 { { 0xFF }, { 85, 16 }, 0 }, // 1
61 { { 0xFF }, { 50, 13 }, 0 }, // 2
62 { { 0xFF }, { 16, 20 }, 0 }, // 3
63 { { 0xFF }, { 16, 38 }, 0 }, // 4
64 { { 0xFF }, { 50, 48 }, 0 }, // 5
65 { { 0xFF }, { 85, 52 }, 0 }, // 6
67 { { 3 | ( 5 << 4 ) }, { 95, 63 }, 1 }, // 7
68 { { 2 | ( 5 << 4 ) }, { 85, 39 }, 0 }, // 8
69 { { 1 | ( 5 << 4 ) }, { 85, 21 }, 0 }, // 9
70 { { 0 | ( 5 << 4 ) }, { 85, 4 }, 0 }, //10
71 { { 0 | ( 4 << 4 ) }, { 68, 02 }, 0 }, //11
72 { { 1 | ( 4 << 4 ) }, { 68, 19 }, 0 }, //12
73 { { 2 | ( 4 << 4 ) }, { 68, 37 }, 0 }, //13
74 { { 3 | ( 4 << 4 ) }, { 80, 58 }, 1 }, //14
75 { { 3 | ( 3 << 4 ) }, { 60, 55 }, 1 }, //15
76 { { 2 | ( 3 << 4 ) }, { 50, 35 }, 0 }, //16
77 { { 1 | ( 3 << 4 ) }, { 50, 13 }, 0 }, //17
78 { { 0 | ( 3 << 4 ) }, { 50, 0 }, 0 }, //18
79 { { 0 | ( 2 << 4 ) }, { 33, 3 }, 0 }, //19
80 { { 1 | ( 2 << 4 ) }, { 33, 20 }, 0 }, //20
81 { { 2 | ( 2 << 4 ) }, { 33, 37 }, 0 }, //21
82 { { 2 | ( 1 << 4 ) }, { 16, 42 }, 0 }, //22
83 { { 1 | ( 1 << 4 ) }, { 16, 24 }, 0 }, //23
84 { { 0 | ( 1 << 4 ) }, { 16, 7 }, 0 }, //24
85 { { 0 | ( 0 << 4 ) }, { 0, 7 }, 1 }, //25
86 { { 1 | ( 0 << 4 ) }, { 0, 24 }, 1 }, //26
87 { { 2 | ( 0 << 4 ) }, { 0, 41 }, 1 }, //27
89 const rgb_led g_rgb_leds_right[27] = {
91 { { 0xFF }, { 139, 16 }, 0 }, // 1
92 { { 0xFF }, { 174, 13 }, 0 }, // 2
93 { { 0xFF }, { 208, 20 }, 0 }, // 3
94 { { 0xFF }, { 208, 38 }, 0 }, // 4
95 { { 0xFF }, { 174, 48 }, 0 }, // 5
96 { { 0xFF }, { 139, 52 }, 0 }, // 6
98 { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7
99 { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8
100 { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9
101 { { 4 | ( 5 << 4 ) }, { 139, 4 }, 0 }, //10
102 { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11
103 { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12
104 { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13
105 { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14
106 { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15
107 { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16
108 { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17
109 { { 4 | ( 3 << 4 ) }, { 174, 0 }, 0 }, //18
110 { { 4 | ( 2 << 4 ) }, { 191, 3 }, 0 }, //19
111 { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20
112 { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21
113 { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22
114 { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23
115 { { 4 | ( 1 << 4 ) }, { 208, 7 }, 0 }, //24
116 { { 4 | ( 0 << 4 ) }, { 224, 7 }, 1 }, //25
117 { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26
118 { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27
122 const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
125 { { 0xFF }, { 85, 16 }, 0 }, // 1
126 { { 0xFF }, { 50, 13 }, 0 }, // 2
127 { { 0xFF }, { 16, 20 }, 0 }, // 3
128 { { 0xFF }, { 16, 38 }, 0 }, // 4
129 { { 0xFF }, { 50, 48 }, 0 }, // 5
130 { { 0xFF }, { 85, 52 }, 0 }, // 6
132 { { 3 | ( 5 << 4 ) }, { 95, 63 }, 1 }, // 7
133 { { 2 | ( 5 << 4 ) }, { 85, 39 }, 0 }, // 8
134 { { 1 | ( 5 << 4 ) }, { 85, 21 }, 0 }, // 9
135 { { 0 | ( 5 << 4 ) }, { 85, 4 }, 0 }, //10
136 { { 0 | ( 4 << 4 ) }, { 68, 02 }, 0 }, //11
137 { { 1 | ( 4 << 4 ) }, { 68, 19 }, 0 }, //12
138 { { 2 | ( 4 << 4 ) }, { 68, 37 }, 0 }, //13
139 { { 3 | ( 4 << 4 ) }, { 80, 58 }, 1 }, //14
140 { { 3 | ( 3 << 4 ) }, { 60, 55 }, 1 }, //15
141 { { 2 | ( 3 << 4 ) }, { 50, 35 }, 0 }, //16
142 { { 1 | ( 3 << 4 ) }, { 50, 13 }, 0 }, //17
143 { { 0 | ( 3 << 4 ) }, { 50, 0 }, 0 }, //18
144 { { 0 | ( 2 << 4 ) }, { 33, 3 }, 0 }, //19
145 { { 1 | ( 2 << 4 ) }, { 33, 20 }, 0 }, //20
146 { { 2 | ( 2 << 4 ) }, { 33, 37 }, 0 }, //21
147 { { 2 | ( 1 << 4 ) }, { 16, 42 }, 0 }, //22
148 { { 1 | ( 1 << 4 ) }, { 16, 24 }, 0 }, //23
149 { { 0 | ( 1 << 4 ) }, { 16, 7 }, 0 }, //24
150 { { 0 | ( 0 << 4 ) }, { 0, 7 }, 1 }, //25
151 { { 1 | ( 0 << 4 ) }, { 0, 24 }, 1 }, //26
152 { { 2 | ( 0 << 4 ) }, { 0, 41 }, 1 }, //27
155 { { 0xFF }, { 139, 16 }, 0 }, // 1
156 { { 0xFF }, { 174, 13 }, 0 }, // 2
157 { { 0xFF }, { 208, 20 }, 0 }, // 3
158 { { 0xFF }, { 208, 38 }, 0 }, // 4
159 { { 0xFF }, { 174, 48 }, 0 }, // 5
160 { { 0xFF }, { 139, 52 }, 0 }, // 6
162 { { 7 | ( 5 << 4 ) }, { 129, 63 }, 1 }, // 7
163 { { 6 | ( 5 << 4 ) }, { 139, 39 }, 0 }, // 8
164 { { 5 | ( 5 << 4 ) }, { 139, 21 }, 0 }, // 9
165 { { 4 | ( 5 << 4 ) }, { 139, 4 }, 0 }, //10
166 { { 4 | ( 4 << 4 ) }, { 156, 02 }, 0 }, //11
167 { { 5 | ( 4 << 4 ) }, { 156, 19 }, 0 }, //12
168 { { 6 | ( 4 << 4 ) }, { 156, 37 }, 0 }, //13
169 { { 7 | ( 4 << 4 ) }, { 144, 58 }, 1 }, //14
170 { { 7 | ( 3 << 4 ) }, { 164, 55 }, 1 }, //15
171 { { 6 | ( 3 << 4 ) }, { 174, 35 }, 0 }, //16
172 { { 5 | ( 3 << 4 ) }, { 174, 13 }, 0 }, //17
173 { { 4 | ( 3 << 4 ) }, { 174, 0 }, 0 }, //18
174 { { 4 | ( 2 << 4 ) }, { 191, 3 }, 0 }, //19
175 { { 5 | ( 2 << 4 ) }, { 191, 20 }, 0 }, //20
176 { { 6 | ( 2 << 4 ) }, { 191, 37 }, 0 }, //21
177 { { 6 | ( 1 << 4 ) }, { 208, 42 }, 0 }, //22
178 { { 5 | ( 1 << 4 ) }, { 208, 24 }, 0 }, //23
179 { { 4 | ( 1 << 4 ) }, { 208, 7 }, 0 }, //24
180 { { 4 | ( 0 << 4 ) }, { 224, 7 }, 1 }, //25
181 { { 5 | ( 0 << 4 ) }, { 224, 24 }, 1 }, //26
182 { { 6 | ( 0 << 4 ) }, { 224, 41 }, 1 }, //27
187 void matrix_init_kb(void) {
190 _delay_ms(20); // gets rid of tick
191 PLAY_SONG(tone_startup);
197 void shutdown_kb(void) {
199 PLAY_SONG(tone_goodbye);