Update RGB Matrix configuration for Planck EZ

Use LED Flags for RGB matrix control instead

Cleanup
pull/6512/head
Drashna Jael're 5 years ago committed by Florian Didron
parent 5a30142914
commit 4de36ce45b

@ -209,14 +209,31 @@ void led_initialize_hardware(void) {
void keyboard_pre_init_kb(void) { void keyboard_pre_init_kb(void) {
// read kb settings from eeprom // read kb settings from eeprom
keyboard_config.raw = eeconfig_read_kb(); keyboard_config.raw = eeconfig_read_kb();
#ifdef RGB_MATRIX_ENABLE
if (keyboard_config.rgb_matrix_enable) {
rgb_matrix_set_flags(LED_FLAG_ALL);
} else {
rgb_matrix_set_flags(LED_FLAG_NONE);
}
#endif
// initialize settings for front LEDs // initialize settings for front LEDs
led_initialize_hardware(); led_initialize_hardware();
keyboard_pre_init_user();
} }
#ifdef RGB_MATRIX_ENABLE
void keyboard_post_init_kb(void) {
rgb_matrix_enable_noeeprom();
keyboard_post_init_user();
}
#endif
void eeconfig_init_kb(void) { // EEPROM is getting reset! void eeconfig_init_kb(void) { // EEPROM is getting reset!
keyboard_config.raw = 0; keyboard_config.raw = 0;
keyboard_config.rgb_matrix_enable = true;
keyboard_config.led_level = 4; keyboard_config.led_level = 4;
eeconfig_update_kb(keyboard_config.raw); eeconfig_update_kb(keyboard_config.raw);
eeconfig_init_user(); eeconfig_init_user();
} }
@ -258,6 +275,31 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
layer_state_set_kb(layer_state); layer_state_set_kb(layer_state);
} }
break; break;
#ifdef RGB_MATRIX_ENABLE
case TOGGLE_LAYER_COLOR:
if (record->event.pressed) {
keyboard_config.disable_layer_led ^= 1;
eeconfig_update_kb(keyboard_config.raw);
}
break;
case RGB_TOG:
if (record->event.pressed) {
switch (rgb_matrix_get_flags()) {
case LED_FLAG_ALL: {
rgb_matrix_set_flags(LED_FLAG_NONE);
keyboard_config.rgb_matrix_enable = false;
}
break;
default: {
rgb_matrix_set_flags(LED_FLAG_ALL);
keyboard_config.rgb_matrix_enable = true;
}
break;
}
eeconfig_update_kb(keyboard_config.raw);
}
return false;
#endif
} }
return process_record_user(keycode, record); return process_record_user(keycode, record);
} }

@ -60,13 +60,16 @@ void planck_ez_left_led_level(uint8_t level);
enum planck_ez_keycodes { enum planck_ez_keycodes {
LED_LEVEL = SAFE_RANGE, LED_LEVEL = SAFE_RANGE,
TOGGLE_LAYER_COLOR,
EZ_SAFE_RANGE, EZ_SAFE_RANGE,
}; };
typedef union { typedef union {
uint32_t raw; uint32_t raw;
struct { struct {
uint8_t led_level :3; uint8_t led_level :3;
bool disable_layer_led :1;
bool rgb_matrix_enable :1;
}; };
} keyboard_config_t; } keyboard_config_t;

@ -19,7 +19,6 @@
enum planck_keycodes { enum planck_keycodes {
RGB_SLD = SAFE_RANGE, RGB_SLD = SAFE_RANGE,
TOGGLE_LAYER_COLOR,
EPRM, EPRM,
}; };

Loading…
Cancel
Save