From 4afa1e3300b3ed190b1559b04681765ccfa02013 Mon Sep 17 00:00:00 2001 From: scda Date: Sat, 3 Jul 2021 20:35:03 +0200 Subject: [PATCH] add split led colors for one sided layers --- keyboards/kyria/keymaps/scda/config.h | 12 +++--- keyboards/kyria/keymaps/scda/keymap.c | 57 ++++++++++++++++----------- 2 files changed, 39 insertions(+), 30 deletions(-) diff --git a/keyboards/kyria/keymaps/scda/config.h b/keyboards/kyria/keymaps/scda/config.h index cccb28e9249..d86178b8f2a 100644 --- a/keyboards/kyria/keymaps/scda/config.h +++ b/keyboards/kyria/keymaps/scda/config.h @@ -12,12 +12,12 @@ # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_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_HUE 70 // 0-255 -# define RGBLIGHT_DEFAULT_SAT 255 // 0-255 -# define RGBLIGHT_DEFAULT_VAL 150 // 0-255 +# define RGBLIGHT_DEFAULT_HUE 70 // 0-255 +# define RGBLIGHT_DEFAULT_SAT 255 // 0-255 +# define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL // 0-255 # define RGBLIGHT_SLEEP // # define RGBLIGHT_ANIMATIONS // animations are disabled @@ -26,8 +26,8 @@ /*** CONTROLLERS ***/ // see https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-configuration-options -#define SPLIT_USB_DETECT // side with usb-connection becomes master -#define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc +#define SPLIT_USB_DETECT // side with usb-connection becomes master +#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_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!) diff --git a/keyboards/kyria/keymaps/scda/keymap.c b/keyboards/kyria/keymaps/scda/keymap.c index ef254999cf8..33371a48659 100644 --- a/keyboards/kyria/keymaps/scda/keymap.c +++ b/keyboards/kyria/keymaps/scda/keymap.c @@ -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_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO), [_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_TRNS, RGB_TOG, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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, 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) // [_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, @@ -108,39 +108,48 @@ void oled_task_user(void) { void keyboard_post_init_user(void) { rgblight_enable_noeeprom(); // enables Rgb, without saving settings rgblight_mode_noeeprom(RGBLIGHT_DEFAULT_MODE); - rgblight_sethsv_noeeprom_chartreuse(); + rgblight_setrgb(RGB_CHARTREUSE); } // called on every layer change // set the colour according to active layer 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)) { case _LETTERS: - rgblight_sethsv_noeeprom(RGBLIGHT_DEFAULT_HUE, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); + rgblight_setrgb(RGB_CHARTREUSE); break; case _SYMBOLS: - rgblight_sethsv_noeeprom(106, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); + rgblight_setrgb(RGB_GOLDENROD); break; case _NUMBERS: - rgblight_sethsv_noeeprom(148, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); - break; - case _CODE: - rgblight_sethsv_noeeprom(21, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); - break; - 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(); + rgblight_setrgb_range(RGB_OFF, 0, 4); + rgblight_setrgb_range(RGB_RED, 5, 9); + rgblight_setrgb_range(RGB_BLUE, 7, 19); + // rgblight_sethsv_master(HSV_OFF); + // rgblight_sethsv_slave(HSV_SPRINGGREEN); 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) - rgblight_sethsv_noeeprom_red(); + rgblight_setrgb(RGB_RED); break; } return state;