add split led colors for one sided layers

This commit is contained in:
scda 2021-07-03 20:35:03 +02:00
parent 727ad2978c
commit 4afa1e3300
2 changed files with 39 additions and 30 deletions

View File

@ -12,12 +12,12 @@
# define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8 # define RGBLIGHT_VAL_STEP 8
# define RGBLIGHT_LIMIT_VAL 150 # define RGBLIGHT_LIMIT_VAL 100
# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
# define RGBLIGHT_DEFAULT_HUE 70 // 0-255 # define RGBLIGHT_DEFAULT_HUE 70 // 0-255
# define RGBLIGHT_DEFAULT_SAT 255 // 0-255 # define RGBLIGHT_DEFAULT_SAT 255 // 0-255
# define RGBLIGHT_DEFAULT_VAL 150 // 0-255 # define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL // 0-255
# define RGBLIGHT_SLEEP # define RGBLIGHT_SLEEP
// # define RGBLIGHT_ANIMATIONS // animations are disabled // # define RGBLIGHT_ANIMATIONS // animations are disabled
@ -26,8 +26,8 @@
/*** CONTROLLERS ***/ /*** CONTROLLERS ***/
// see https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-configuration-options // see https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-configuration-options
#define SPLIT_USB_DETECT // side with usb-connection becomes master #define SPLIT_USB_DETECT // side with usb-connection becomes master
#define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc #define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc
// #define SPLIT_MODS_ENABLE // shares modifier state between both sides (adds communication!) // #define SPLIT_MODS_ENABLE // shares modifier state between both sides (adds communication!)
// #define SPLIT_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!) // #define SPLIT_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!)

View File

@ -41,10 +41,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_BRID, KC_VOLD, KC_NO, KC_MPRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, KC_VOLD, KC_NO, KC_MPRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO), KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO),
[_KBD_CTRL] = LAYOUT( [_KBD_CTRL] = LAYOUT(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_TOG, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO) KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO)
// [_TEMPLATE] = LAYOUT( // [_TEMPLATE] = LAYOUT(
// KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, // KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
// KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, // KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
@ -108,39 +108,48 @@ void oled_task_user(void) {
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
rgblight_enable_noeeprom(); // enables Rgb, without saving settings rgblight_enable_noeeprom(); // enables Rgb, without saving settings
rgblight_mode_noeeprom(RGBLIGHT_DEFAULT_MODE); rgblight_mode_noeeprom(RGBLIGHT_DEFAULT_MODE);
rgblight_sethsv_noeeprom_chartreuse(); rgblight_setrgb(RGB_CHARTREUSE);
} }
// called on every layer change // called on every layer change
// set the colour according to active layer // set the colour according to active layer
layer_state_t layer_state_set_user(layer_state_t state) { layer_state_t layer_state_set_user(layer_state_t state) {
// setrgb, sethsv_noeeprom, setrgb_range do not write to eeprom
switch (get_highest_layer(state)) { switch (get_highest_layer(state)) {
case _LETTERS: case _LETTERS:
rgblight_sethsv_noeeprom(RGBLIGHT_DEFAULT_HUE, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); rgblight_setrgb(RGB_CHARTREUSE);
break; break;
case _SYMBOLS: case _SYMBOLS:
rgblight_sethsv_noeeprom(106, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); rgblight_setrgb(RGB_GOLDENROD);
break; break;
case _NUMBERS: case _NUMBERS:
rgblight_sethsv_noeeprom(148, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); rgblight_setrgb_range(RGB_OFF, 0, 4);
break; rgblight_setrgb_range(RGB_RED, 5, 9);
case _CODE: rgblight_setrgb_range(RGB_BLUE, 7, 19);
rgblight_sethsv_noeeprom(21, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); // rgblight_sethsv_master(HSV_OFF);
break; // rgblight_sethsv_slave(HSV_SPRINGGREEN);
case _NAV:
rgblight_sethsv_noeeprom(222, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL);
break;
case _FN:
rgblight_sethsv_noeeprom(180, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL);
break;
case _MEDIA:
rgblight_sethsv_noeeprom(169, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL);
break;
case _KBD_CTRL:
rgblight_sethsv_noeeprom_white();
break; break;
// case _CODE:
// rgblight_sethsv_master(HSV_OFF);
// rgblight_sethsv_slave(HSV_PINK);
// break;
// case _NAV:
// rgblight_sethsv_master(HSV_OFF);
// rgblight_sethsv_slave(HSV_CYAN);
// break;
// case _FN:
// rgblight_sethsv_master(HSV_PURPLE);
// rgblight_sethsv_slave(HSV_OFF);
// break;
// case _MEDIA:
// rgblight_sethsv_master(HSV_TEAL);
// rgblight_sethsv_slave(HSV_OFF);
// break;
// case _KBD_CTRL:
// rgblight_sethsv_noeeprom_white();
// break;
default: // for any other layers (that should not exist/be accessible) default: // for any other layers (that should not exist/be accessible)
rgblight_sethsv_noeeprom_red(); rgblight_setrgb(RGB_RED);
break; break;
} }
return state; return state;