aboutsummaryrefslogtreecommitdiff
path: root/keyboards/moonlander/moonlander.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/moonlander/moonlander.c')
-rw-r--r--keyboards/moonlander/moonlander.c111
1 files changed, 41 insertions, 70 deletions
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index d5105c26c..ea50226f0 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -19,9 +19,6 @@
19 19
20 20
21#include "moonlander.h" 21#include "moonlander.h"
22#ifdef WEBUSB_ENABLE
23# include "webusb.h"
24#endif
25 22
26keyboard_config_t keyboard_config; 23keyboard_config_t keyboard_config;
27 24
@@ -83,50 +80,9 @@ void moonlander_led_task(void) {
83 wait_ms(155); 80 wait_ms(155);
84 } 81 }
85#endif 82#endif
86#ifdef WEBUSB_ENABLE 83#if !defined(MOONLANDER_USER_LEDS)
87 else if (webusb_state.pairing == true) { 84 else {
88 static uint8_t led_mask; 85 layer_state_set_kb(layer_state);
89
90 ML_LED_1(false);
91 ML_LED_2(false);
92 ML_LED_3(false);
93 ML_LED_4(false);
94 ML_LED_5(false);
95 ML_LED_6(false);
96
97 if (!led_mask) {
98 led_mask = 1;
99 } else {
100 led_mask++;
101 if (led_mask > 12) led_mask = 1;
102 }
103 switch (led_mask) {
104 case 1:
105 case 12:
106 ML_LED_1(true);
107 break;
108 case 2:
109 case 11:
110 ML_LED_2(true);
111 break;
112 case 3:
113 case 10:
114 ML_LED_3(true);
115 break;
116 case 4:
117 case 9:
118 ML_LED_4(true);
119 break;
120 case 5:
121 case 8:
122 ML_LED_5(true);
123 break;
124 case 6:
125 case 7:
126 ML_LED_6(true);
127 break;
128 }
129 wait_ms(150);
130 } 86 }
131#endif 87#endif
132} 88}
@@ -163,40 +119,53 @@ void keyboard_pre_init_kb(void) {
163layer_state_t layer_state_set_kb(layer_state_t state) { 119layer_state_t layer_state_set_kb(layer_state_t state) {
164 state = layer_state_set_user(state); 120 state = layer_state_set_user(state);
165 if (is_launching || !keyboard_config.led_level) return state; 121 if (is_launching || !keyboard_config.led_level) return state;
166 122 bool LED_1 = false;
167 ML_LED_1(false); 123 bool LED_2 = false;
168 ML_LED_2(false); 124 bool LED_3 = false;
169 ML_LED_3(false); 125 bool LED_4 = false;
170 ML_LED_4(false); 126 bool LED_5 = false;
171 ML_LED_5(false); 127 bool LED_6 = false;
172 ML_LED_6(false);
173 128
174 uint8_t layer = get_highest_layer(state); 129 uint8_t layer = get_highest_layer(state);
175 switch (layer) { 130 switch (layer) {
176 case 1: 131 case 1:
177 ML_LED_1(1); 132 LED_1 = true;
178 ML_LED_4(1); 133 LED_4 = true;
179 break; 134 break;
180 case 2: 135 case 2:
181 ML_LED_2(1); 136 LED_2 = true;
182 ML_LED_5(1); 137 LED_5 = true;
183 break; 138 break;
184 case 3: 139 case 3:
185 ML_LED_3(1); 140 LED_3 = true;
141#if !defined(CAPS_LOCK_STATUS)
142 LED_6 = true;
143#endif
186 break; 144 break;
187 case 4: 145 case 4:
188 ML_LED_4(1); 146 LED_4 = true;
189 break; 147 break;
190 case 5: 148 case 5:
191 ML_LED_5(1); 149 LED_5 = true;
192 break; 150 break;
193 case 6: 151 case 6:
194 ML_LED_6(1); 152#if !defined(CAPS_LOCK_STATUS)
153 LED_6 = true;
154#endif
195 break; 155 break;
196 default: 156 default:
197 break; 157 break;
198 } 158 }
199 159
160 ML_LED_1(LED_1);
161 ML_LED_2(LED_2);
162 ML_LED_3(LED_3);
163 ML_LED_4(LED_4);
164 ML_LED_5(LED_5);
165#if !defined(CAPS_LOCK_STATUS)
166 ML_LED_6(LED_6);
167#endif
168
200 return state; 169 return state;
201} 170}
202#endif 171#endif
@@ -398,15 +367,19 @@ const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT_moonlander(
398// clang-format on 367// clang-format on
399#endif 368#endif
400 369
401#ifdef ORYX_CONFIGURATOR 370#ifdef CAPS_LOCK_STATUS
371bool led_update_kb(led_t led_state) {
372 bool res = led_update_user(led_state);
373 if(res) {
374 ML_LED_6(led_state.caps_lock);
375 }
376 return res;
377}
378#endif
379
402bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 380bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
403 if (!process_record_user(keycode, record)) { return false; } 381 if (!process_record_user(keycode, record)) { return false; }
404 switch (keycode) { 382 switch (keycode) {
405#ifdef WEBUSB_ENABLE
406 case WEBUSB_PAIR:
407 if (!record->event.pressed && !webusb_state.pairing) layer_state_set_kb(layer_state);
408 break;
409#endif
410#if !defined(MOONLANDER_USER_LEDS) 383#if !defined(MOONLANDER_USER_LEDS)
411 case LED_LEVEL: 384 case LED_LEVEL:
412 if (record->event.pressed) { 385 if (record->event.pressed) {
@@ -454,8 +427,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
454 return true; 427 return true;
455} 428}
456 429
457#endif
458
459void matrix_init_kb(void) { 430void matrix_init_kb(void) {
460 keyboard_config.raw = eeconfig_read_kb(); 431 keyboard_config.raw = eeconfig_read_kb();
461 432