diff options
Diffstat (limited to 'users/drashna/rgb_stuff.c')
| -rw-r--r-- | users/drashna/rgb_stuff.c | 441 |
1 files changed, 202 insertions, 239 deletions
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c index b5e145842..38e86ae0e 100644 --- a/users/drashna/rgb_stuff.c +++ b/users/drashna/rgb_stuff.c | |||
| @@ -11,80 +11,80 @@ extern rgb_config_t rgb_matrix_config; | |||
| 11 | 11 | ||
| 12 | #ifdef RGBLIGHT_ENABLE | 12 | #ifdef RGBLIGHT_ENABLE |
| 13 | void rgblight_sethsv_default_helper(uint8_t index) { | 13 | void rgblight_sethsv_default_helper(uint8_t index) { |
| 14 | rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, index); | 14 | rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, index); |
| 15 | } | 15 | } |
| 16 | #endif // RGBLIGHT_ENABLE | 16 | #endif // RGBLIGHT_ENABLE |
| 17 | 17 | ||
| 18 | #ifdef INDICATOR_LIGHTS | 18 | #ifdef INDICATOR_LIGHTS |
| 19 | void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) { | 19 | void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) { |
| 20 | if (userspace_config.rgb_layer_change && biton32(layer_state) == 0) { | 20 | if (userspace_config.rgb_layer_change && biton32(layer_state) == 0) { |
| 21 | if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK) ) { | 21 | if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK) ) { |
| 22 | #ifdef SHFT_LED1 | 22 | #ifdef SHFT_LED1 |
| 23 | rgblight_sethsv_at(120, 255, 255, SHFT_LED1); | 23 | rgblight_sethsv_at(120, 255, 255, SHFT_LED1); |
| 24 | #endif // SHFT_LED1 | 24 | #endif // SHFT_LED1 |
| 25 | #ifdef SHFT_LED2 | 25 | #ifdef SHFT_LED2 |
| 26 | rgblight_sethsv_at(120, 255, 255, SHFT_LED2); | 26 | rgblight_sethsv_at(120, 255, 255, SHFT_LED2); |
| 27 | #endif // SHFT_LED2 | 27 | #endif // SHFT_LED2 |
| 28 | } else { | 28 | } else { |
| 29 | #ifdef SHFT_LED1 | 29 | #ifdef SHFT_LED1 |
| 30 | rgblight_sethsv_default_helper(SHFT_LED1); | 30 | rgblight_sethsv_default_helper(SHFT_LED1); |
| 31 | #endif // SHFT_LED1 | 31 | #endif // SHFT_LED1 |
| 32 | #ifdef SHFT_LED2 | 32 | #ifdef SHFT_LED2 |
| 33 | rgblight_sethsv_default_helper(SHFT_LED2); | 33 | rgblight_sethsv_default_helper(SHFT_LED2); |
| 34 | #endif // SHFT_LED2 | 34 | #endif // SHFT_LED2 |
| 35 | } | 35 | } |
| 36 | if ( (this_mod | this_osm) & MOD_MASK_CTRL) { | 36 | if ( (this_mod | this_osm) & MOD_MASK_CTRL) { |
| 37 | #ifdef CTRL_LED1 | 37 | #ifdef CTRL_LED1 |
| 38 | rgblight_sethsv_at(0, 255, 255, CTRL_LED1); | 38 | rgblight_sethsv_at(0, 255, 255, CTRL_LED1); |
| 39 | #endif // CTRL_LED1 | 39 | #endif // CTRL_LED1 |
| 40 | #ifdef CTRL_LED2 | 40 | #ifdef CTRL_LED2 |
| 41 | rgblight_sethsv_at(0, 255, 255, CTRL_LED2); | 41 | rgblight_sethsv_at(0, 255, 255, CTRL_LED2); |
| 42 | #endif // CTRL_LED2 | 42 | #endif // CTRL_LED2 |
| 43 | } else { | 43 | } else { |
| 44 | #ifdef CTRL_LED1 | 44 | #ifdef CTRL_LED1 |
| 45 | rgblight_sethsv_default_helper(CTRL_LED1); | 45 | rgblight_sethsv_default_helper(CTRL_LED1); |
| 46 | #endif // CTRL_LED1 | 46 | #endif // CTRL_LED1 |
| 47 | #ifdef CTRL_LED2 | 47 | #ifdef CTRL_LED2 |
| 48 | rgblight_sethsv_default_helper(CTRL_LED2); | 48 | rgblight_sethsv_default_helper(CTRL_LED2); |
| 49 | #endif // CTRL_LED2 | 49 | #endif // CTRL_LED2 |
| 50 | } | 50 | } |
| 51 | if ( (this_mod | this_osm) & MOD_MASK_GUI) { | 51 | if ( (this_mod | this_osm) & MOD_MASK_GUI) { |
| 52 | #ifdef GUI_LED1 | 52 | #ifdef GUI_LED1 |
| 53 | rgblight_sethsv_at(51, 255, 255, GUI_LED1); | 53 | rgblight_sethsv_at(51, 255, 255, GUI_LED1); |
| 54 | #endif // GUI_LED1 | 54 | #endif // GUI_LED1 |
| 55 | #ifdef GUI_LED2 | 55 | #ifdef GUI_LED2 |
| 56 | rgblight_sethsv_at(51, 255, 255, GUI_LED2); | 56 | rgblight_sethsv_at(51, 255, 255, GUI_LED2); |
| 57 | #endif // GUI_LED2 | 57 | #endif // GUI_LED2 |
| 58 | } else { | 58 | } else { |
| 59 | #ifdef GUI_LED1 | 59 | #ifdef GUI_LED1 |
| 60 | rgblight_sethsv_default_helper(GUI_LED1); | 60 | rgblight_sethsv_default_helper(GUI_LED1); |
| 61 | #endif // GUI_LED1 | 61 | #endif // GUI_LED1 |
| 62 | #ifdef GUI_LED2 | 62 | #ifdef GUI_LED2 |
| 63 | rgblight_sethsv_default_helper(GUI_LED2); | 63 | rgblight_sethsv_default_helper(GUI_LED2); |
| 64 | #endif // GUI_LED2 | 64 | #endif // GUI_LED2 |
| 65 | } | 65 | } |
| 66 | if ( (this_mod | this_osm) & MOD_MASK_ALT) { | 66 | if ( (this_mod | this_osm) & MOD_MASK_ALT) { |
| 67 | #ifdef ALT_LED1 | 67 | #ifdef ALT_LED1 |
| 68 | rgblight_sethsv_at(240, 255, 255, ALT_LED1); | 68 | rgblight_sethsv_at(240, 255, 255, ALT_LED1); |
| 69 | #endif // ALT_LED1 | 69 | #endif // ALT_LED1 |
| 70 | #ifdef GUI_LED2 | 70 | #ifdef GUI_LED2 |
| 71 | rgblight_sethsv_at(240, 255, 255, ALT_LED2); | 71 | rgblight_sethsv_at(240, 255, 255, ALT_LED2); |
| 72 | #endif // GUI_LED2 | 72 | #endif // GUI_LED2 |
| 73 | } else { | 73 | } else { |
| 74 | #ifdef GUI_LED1 | 74 | #ifdef GUI_LED1 |
| 75 | rgblight_sethsv_default_helper(ALT_LED1); | 75 | rgblight_sethsv_default_helper(ALT_LED1); |
| 76 | #endif // GUI_LED1 | 76 | #endif // GUI_LED1 |
| 77 | #ifdef GUI_LED2 | 77 | #ifdef GUI_LED2 |
| 78 | rgblight_sethsv_default_helper(ALT_LED2); | 78 | rgblight_sethsv_default_helper(ALT_LED2); |
| 79 | #endif // GUI_LED2 | 79 | #endif // GUI_LED2 |
| 80 | } | ||
| 80 | } | 81 | } |
| 81 | } | ||
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | void matrix_scan_indicator(void) { | 84 | void matrix_scan_indicator(void) { |
| 85 | if (has_initialized) { | 85 | if (has_initialized) { |
| 86 | set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods()); | 86 | set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods()); |
| 87 | } | 87 | } |
| 88 | } | 88 | } |
| 89 | #endif //INDICATOR_LIGHTS | 89 | #endif //INDICATOR_LIGHTS |
| 90 | 90 | ||
| @@ -95,69 +95,71 @@ __attribute__ ((weak)) | |||
| 95 | bool rgblight_twinkle_is_led_used_keymap(uint8_t index) { return false; } | 95 | bool rgblight_twinkle_is_led_used_keymap(uint8_t index) { return false; } |
| 96 | 96 | ||
| 97 | bool rgblight_twinkle_is_led_used(uint8_t index) { | 97 | bool rgblight_twinkle_is_led_used(uint8_t index) { |
| 98 | switch (index) { | 98 | switch (index) { |
| 99 | #ifdef INDICATOR_LIGHTS | 99 | #ifdef INDICATOR_LIGHTS |
| 100 | #ifdef SHFT_LED1 | 100 | #ifdef SHFT_LED1 |
| 101 | case SHFT_LED1: | 101 | case SHFT_LED1: |
| 102 | return true; | 102 | return true; |
| 103 | #endif //SHFT_LED1 | 103 | #endif //SHFT_LED1 |
| 104 | #ifdef SHFT_LED2 | 104 | #ifdef SHFT_LED2 |
| 105 | case SHFT_LED2: | 105 | case SHFT_LED2: |
| 106 | return true; | 106 | return true; |
| 107 | #endif //SHFT_LED2 | 107 | #endif //SHFT_LED2 |
| 108 | #ifdef CTRL_LED1 | 108 | #ifdef CTRL_LED1 |
| 109 | case CTRL_LED1: | 109 | case CTRL_LED1: |
| 110 | return true; | 110 | return true; |
| 111 | #endif //CTRL_LED1 | 111 | #endif //CTRL_LED1 |
| 112 | #ifdef CTRL_LED2 | 112 | #ifdef CTRL_LED2 |
| 113 | case CTRL_LED2: | 113 | case CTRL_LED2: |
| 114 | return true; | 114 | return true; |
| 115 | #endif //CTRL_LED2 | 115 | #endif //CTRL_LED2 |
| 116 | #ifdef GUI_LED1 | 116 | #ifdef GUI_LED1 |
| 117 | case GUI_LED1: | 117 | case GUI_LED1: |
| 118 | return true; | 118 | return true; |
| 119 | #endif //GUI_LED1 | 119 | #endif //GUI_LED1 |
| 120 | #ifdef GUI_LED2 | 120 | #ifdef GUI_LED2 |
| 121 | case GUI_LED2: | 121 | case GUI_LED2: |
| 122 | return true; | 122 | return true; |
| 123 | #endif //GUI_LED2 | 123 | #endif //GUI_LED2 |
| 124 | #ifdef ALT_LED1 | 124 | #ifdef ALT_LED1 |
| 125 | case ALT_LED1: | 125 | case ALT_LED1: |
| 126 | return true; | 126 | return true; |
| 127 | #endif //ALT_LED1 | 127 | #endif //ALT_LED1 |
| 128 | #ifdef ALT_LED2 | 128 | #ifdef ALT_LED2 |
| 129 | case ALT_LED2: | 129 | case ALT_LED2: |
| 130 | return true; | 130 | return true; |
| 131 | #endif //ALT_LED2 | 131 | #endif //ALT_LED2 |
| 132 | #endif //INDICATOR_LIGHTS | 132 | #endif //INDICATOR_LIGHTS |
| 133 | default: | 133 | default: |
| 134 | return rgblight_twinkle_is_led_used_keymap(index); | 134 | return rgblight_twinkle_is_led_used_keymap(index); |
| 135 | } | 135 | } |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive | 138 | void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive |
| 139 | bool litup = false; | 139 | bool litup = false; |
| 140 | for (uint8_t light_index = 0 ; light_index < RGBLED_NUM ; ++light_index ) { | 140 | for (uint8_t light_index = 0 ; light_index < RGBLED_NUM ; ++light_index ) { |
| 141 | if (lights[light_index].enabled && timer_elapsed(lights[light_index].timer) > 10) { | 141 | if (lights[light_index].enabled && timer_elapsed(lights[light_index].timer) > 10) { |
| 142 | rgblight_fadeout *light = &lights[light_index]; | 142 | rgblight_fadeout *light = &lights[light_index]; |
| 143 | litup = true; | 143 | litup = true; |
| 144 | 144 | ||
| 145 | if (light->life) { | 145 | if (light->life) { |
| 146 | light->life -= 1; | 146 | light->life -= 1; |
| 147 | if (biton32(layer_state) == 0) { | 147 | if (biton32(layer_state) == 0) { |
| 148 | sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); | 148 | sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); |
| 149 | } | ||
| 150 | light->timer = timer_read(); | ||
| 151 | } | ||
| 152 | else { | ||
| 153 | if (light->enabled && biton32(layer_state) == 0) { | ||
| 154 | rgblight_sethsv_default_helper(light_index); | ||
| 155 | } | ||
| 156 | litup = light->enabled = false; | ||
| 157 | } | ||
| 149 | } | 158 | } |
| 150 | light->timer = timer_read(); | ||
| 151 | } | ||
| 152 | else { | ||
| 153 | if (light->enabled && biton32(layer_state) == 0) { rgblight_sethsv_default_helper(light_index); } | ||
| 154 | litup = light->enabled = false; | ||
| 155 | } | ||
| 156 | } | 159 | } |
| 157 | } | 160 | if (litup && biton32(layer_state) == 0) { |
| 158 | if (litup && biton32(layer_state) == 0) { | 161 | rgblight_set(); |
| 159 | rgblight_set(); | 162 | } |
| 160 | } | ||
| 161 | } | 163 | } |
| 162 | 164 | ||
| 163 | void start_rgb_light(void) { | 165 | void start_rgb_light(void) { |
| @@ -203,42 +205,42 @@ void start_rgb_light(void) { | |||
| 203 | 205 | ||
| 204 | 206 | ||
| 205 | bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { | 207 | bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { |
| 206 | if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { | 208 | if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { |
| 207 | keycode = keycode & 0xFF; | 209 | keycode = keycode & 0xFF; |
| 208 | } | 210 | } |
| 209 | switch (keycode) { | 211 | switch (keycode) { |
| 210 | #ifdef RGBLIGHT_TWINKLE | 212 | #ifdef RGBLIGHT_TWINKLE |
| 211 | case KC_A ... KC_SLASH: | 213 | case KC_A ... KC_SLASH: |
| 212 | case KC_F1 ... KC_F12: | 214 | case KC_F1 ... KC_F12: |
| 213 | case KC_INSERT ... KC_UP: | 215 | case KC_INSERT ... KC_UP: |
| 214 | case KC_KP_SLASH ... KC_KP_DOT: | 216 | case KC_KP_SLASH ... KC_KP_DOT: |
| 215 | case KC_F13 ... KC_F24: | 217 | case KC_F13 ... KC_F24: |
| 216 | case KC_AUDIO_MUTE ... KC_MEDIA_REWIND: | 218 | case KC_AUDIO_MUTE ... KC_MEDIA_REWIND: |
| 217 | if (record->event.pressed) { start_rgb_light(); } | 219 | if (record->event.pressed) { start_rgb_light(); } |
| 218 | return true; break; | 220 | return true; break; |
| 219 | #endif // RGBLIGHT_TWINKLE | 221 | #endif // RGBLIGHT_TWINKLE |
| 220 | case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal | 222 | case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal |
| 221 | #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) | 223 | #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) |
| 222 | if (record->event.pressed) { | 224 | if (record->event.pressed) { |
| 223 | userspace_config.rgb_layer_change ^= 1; | 225 | userspace_config.rgb_layer_change ^= 1; |
| 224 | xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); | 226 | xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); |
| 225 | eeconfig_update_user(userspace_config.raw); | 227 | eeconfig_update_user(userspace_config.raw); |
| 226 | if (userspace_config.rgb_layer_change) { | 228 | if (userspace_config.rgb_layer_change) { |
| 227 | layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) | 229 | layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) |
| 228 | } | 230 | } |
| 229 | } | 231 | } |
| 230 | #endif // RGBLIGHT_ENABLE | 232 | #endif // RGBLIGHT_ENABLE |
| 231 | return false; break; | 233 | return false; break; |
| 232 | #ifdef RGBLIGHT_ENABLE | 234 | #ifdef RGBLIGHT_ENABLE |
| 233 | case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions | 235 | case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions |
| 234 | if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled | 236 | if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled |
| 235 | if (userspace_config.rgb_layer_change) { | 237 | if (userspace_config.rgb_layer_change) { |
| 236 | userspace_config.rgb_layer_change = false; | 238 | userspace_config.rgb_layer_change = false; |
| 237 | xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); | 239 | xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); |
| 238 | eeconfig_update_user(userspace_config.raw); | 240 | eeconfig_update_user(userspace_config.raw); |
| 239 | } | 241 | } |
| 240 | } | 242 | } |
| 241 | return true; break; | 243 | return true; break; |
| 242 | #endif // RGBLIGHT_ENABLE | 244 | #endif // RGBLIGHT_ENABLE |
| 243 | } | 245 | } |
| 244 | return true; | 246 | return true; |
| @@ -248,28 +250,28 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { | |||
| 248 | 250 | ||
| 249 | void keyboard_post_init_rgb(void) { | 251 | void keyboard_post_init_rgb(void) { |
| 250 | #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION) | 252 | #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION) |
| 251 | if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); } | 253 | if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); } |
| 252 | if (rgblight_config.enable) { | 254 | if (rgblight_config.enable) { |
| 253 | layer_state_set_user(layer_state); | 255 | layer_state_set_user(layer_state); |
| 254 | uint16_t old_hue = rgblight_config.hue; | 256 | uint16_t old_hue = rgblight_config.hue; |
| 255 | rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); | 257 | rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); |
| 256 | for (uint16_t i = 360; i > 0; i--) { | 258 | for (uint16_t i = 255; i > 0; i--) { |
| 257 | rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255); | 259 | rgblight_sethsv_noeeprom( ( i + old_hue) % 255, 255, 255); |
| 258 | matrix_scan(); | 260 | matrix_scan(); |
| 259 | wait_ms(10); | 261 | wait_ms(10); |
| 262 | } | ||
| 260 | } | 263 | } |
| 261 | } | ||
| 262 | #endif | 264 | #endif |
| 263 | layer_state_set_user(layer_state); | 265 | layer_state_set_user(layer_state); |
| 264 | } | 266 | } |
| 265 | 267 | ||
| 266 | void matrix_scan_rgb(void) { | 268 | void matrix_scan_rgb(void) { |
| 267 | #ifdef RGBLIGHT_TWINKLE | 269 | #ifdef RGBLIGHT_TWINKLE |
| 268 | scan_rgblight_fadeout(); | 270 | scan_rgblight_fadeout(); |
| 269 | #endif // RGBLIGHT_ENABLE | 271 | #endif // RGBLIGHT_ENABLE |
| 270 | 272 | ||
| 271 | #ifdef INDICATOR_LIGHTS | 273 | #ifdef INDICATOR_LIGHTS |
| 272 | matrix_scan_indicator(); | 274 | matrix_scan_indicator(); |
| 273 | #endif | 275 | #endif |
| 274 | 276 | ||
| 275 | } | 277 | } |
| @@ -277,99 +279,60 @@ void matrix_scan_rgb(void) { | |||
| 277 | 279 | ||
| 278 | uint32_t layer_state_set_rgb(uint32_t state) { | 280 | uint32_t layer_state_set_rgb(uint32_t state) { |
| 279 | #ifdef RGBLIGHT_ENABLE | 281 | #ifdef RGBLIGHT_ENABLE |
| 280 | if (userspace_config.rgb_layer_change) { | 282 | if (userspace_config.rgb_layer_change) { |
| 281 | switch (biton32(state)) { | 283 | switch (biton32(state)) { |
| 282 | case _MACROS: | 284 | case _MACROS: |
| 283 | rgblight_sethsv_noeeprom_orange(); | 285 | rgblight_sethsv_noeeprom_orange(); |
| 284 | userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3); | 286 | userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3); |
| 285 | break; | 287 | break; |
| 286 | case _MEDIA: | 288 | case _MEDIA: |
| 287 | rgblight_sethsv_noeeprom_chartreuse(); | 289 | rgblight_sethsv_noeeprom_chartreuse(); |
| 288 | rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1); | 290 | rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1); |
| 289 | break; | 291 | break; |
| 290 | case _GAMEPAD: | 292 | case _GAMEPAD: |
| 291 | rgblight_sethsv_noeeprom_orange(); | 293 | rgblight_sethsv_noeeprom_orange(); |
| 292 | rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2); | 294 | rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2); |
| 293 | break; | 295 | break; |
| 294 | case _DIABLO: | 296 | case _DIABLO: |
| 295 | rgblight_sethsv_noeeprom_red(); | 297 | rgblight_sethsv_noeeprom_red(); |
| 296 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); | 298 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); |
| 297 | break; | 299 | break; |
| 298 | case _RAISE: | 300 | case _RAISE: |
| 299 | rgblight_sethsv_noeeprom_yellow(); | 301 | rgblight_sethsv_noeeprom_yellow(); |
| 300 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); | 302 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); |
| 301 | break; | 303 | break; |
| 302 | case _LOWER: | 304 | case _LOWER: |
| 303 | rgblight_sethsv_noeeprom_green(); | 305 | rgblight_sethsv_noeeprom_green(); |
| 304 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); | 306 | rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); |
| 305 | break; | 307 | break; |
| 306 | case _ADJUST: | 308 | case _ADJUST: |
| 307 | rgblight_sethsv_noeeprom_red(); | 309 | rgblight_sethsv_noeeprom_red(); |
| 308 | rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2); | 310 | rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2); |
| 309 | break; | 311 | break; |
| 310 | default: // for any other layers, or the default layer | 312 | default: // for any other layers, or the default layer |
| 311 | switch (biton32(default_layer_state)) { | 313 | switch (biton32(default_layer_state)) { |
| 312 | case _COLEMAK: | 314 | case _COLEMAK: |
| 313 | rgblight_sethsv_noeeprom_magenta(); break; | 315 | rgblight_sethsv_noeeprom_magenta(); break; |
| 314 | case _DVORAK: | 316 | case _DVORAK: |
| 315 | rgblight_sethsv_noeeprom_springgreen(); break; | 317 | rgblight_sethsv_noeeprom_springgreen(); break; |
| 316 | case _WORKMAN: | 318 | case _WORKMAN: |
| 317 | rgblight_sethsv_noeeprom_goldenrod(); break; | 319 | rgblight_sethsv_noeeprom_goldenrod(); break; |
| 318 | case _NORMAN: | 320 | case _NORMAN: |
| 319 | rgblight_sethsv_noeeprom_coral(); break; | 321 | rgblight_sethsv_noeeprom_coral(); break; |
| 320 | case _MALTRON: | 322 | case _MALTRON: |
| 321 | rgblight_sethsv_noeeprom_yellow(); break; | 323 | rgblight_sethsv_noeeprom_yellow(); break; |
| 322 | case _EUCALYN: | 324 | case _EUCALYN: |
| 323 | rgblight_sethsv_noeeprom_pink(); break; | 325 | rgblight_sethsv_noeeprom_pink(); break; |
| 324 | case _CARPLAX: | 326 | case _CARPLAX: |
| 325 | rgblight_sethsv_noeeprom_blue(); break; | 327 | rgblight_sethsv_noeeprom_blue(); break; |
| 326 | default: | 328 | default: |
| 327 | rgblight_sethsv_noeeprom_cyan(); break; | 329 | rgblight_sethsv_noeeprom_cyan(); break; |
| 328 | } | 330 | } |
| 329 | biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it | 331 | biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it |
| 330 | break; | 332 | break; |
| 333 | } | ||
| 331 | } | 334 | } |
| 332 | // layer_state_set_indicator(); // Runs every scan, so need to call this here .... since I can't get it working "right" anyhow | ||
| 333 | } | ||
| 334 | #endif // RGBLIGHT_ENABLE | 335 | #endif // RGBLIGHT_ENABLE |
| 335 | 336 | ||
| 336 | return state; | 337 | return state; |
| 337 | } | ||
| 338 | |||
| 339 | #if 0 | ||
| 340 | uint32_t default_layer_state_set_rgb(uint32_t state) { | ||
| 341 | #ifdef RGBLIGHT_ENABLE | ||
| 342 | if (userspace_config.rgb_layer_change) { | ||
| 343 | rgblight_config_t temp_rgblight_config = rgblight_config; | ||
| 344 | switch (biton32(state)) { | ||
| 345 | case _COLEMAK: | ||
| 346 | temp_rgblight_config.hue = 300; | ||
| 347 | temp_rgblight_config.val = 255; | ||
| 348 | temp_rgblight_config.sat = 255; | ||
| 349 | temp_rgblight_config.mode = 1; | ||
| 350 | break; | ||
| 351 | case _DVORAK: | ||
| 352 | temp_rgblight_config.hue = 150; | ||
| 353 | temp_rgblight_config.val = 255; | ||
| 354 | temp_rgblight_config.sat = 255; | ||
| 355 | temp_rgblight_config.mode = 1; | ||
| 356 | case _WORKMAN: | ||
| 357 | temp_rgblight_config.hue = 43; | ||
| 358 | temp_rgblight_config.val = 218; | ||
| 359 | temp_rgblight_config.sat = 218; | ||
| 360 | temp_rgblight_config.mode = 1; | ||
| 361 | default: | ||
| 362 | temp_rgblight_config.hue = 180; | ||
| 363 | temp_rgblight_config.val = 255; | ||
| 364 | temp_rgblight_config.sat = 255; | ||
| 365 | temp_rgblight_config.mode = 1; | ||
| 366 | } | ||
| 367 | if (temp_rgblight_config.raw != eeconfig_read_rgblight()) { | ||
| 368 | xprintf("rgblight set default layer hsv [EEPROM]: %u,%u,%u,%u\n", temp_rgblight_config.hue, temp_rgblight_config.sat, temp_rgblight_config.val, temp_rgblight_config.mode); | ||
| 369 | eeconfig_update_rgblight(temp_rgblight_config.raw); | ||
| 370 | } | ||
| 371 | } | ||
| 372 | #endif // RGBLIGHT_ENABLE | ||
| 373 | return state; | ||
| 374 | } | 338 | } |
| 375 | #endif | ||
