diff --git a/keyboards/kyria/keymaps/scda/README.md b/keyboards/kyria/keymaps/scda/README.md index 0315294856b..571c89ff332 100644 --- a/keyboards/kyria/keymaps/scda/README.md +++ b/keyboards/kyria/keymaps/scda/README.md @@ -13,3 +13,6 @@ These are some reminders or rules that are the result of interesting behaviour I - [docs](https://docs.qmk.fm/#/keycodes_us_ansi_shifted) - scrolling keys are reversed from their intended usage - seems like macOS applies natural scrolling here as well - the slave display can apparently not easily display the current layer etc. (even with `SPLIT_MODS_ENABLE`) +- the slave side LEDs can apparently not be controlled separately/directly either + - even the `rgblight_sethsv_range` or `rgblight_sethsv_master` have no effect. For some reason + - What does work: setting the full keyboard settings and then overwriting the master side (specific pins only) diff --git a/keyboards/kyria/keymaps/scda/config.h b/keyboards/kyria/keymaps/scda/config.h index d86178b8f2a..2b5b59756c1 100644 --- a/keyboards/kyria/keymaps/scda/config.h +++ b/keyboards/kyria/keymaps/scda/config.h @@ -26,10 +26,11 @@ /*** 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_MODS_ENABLE // shares modifier state between both sides (adds communication!) -// #define SPLIT_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!) +#define SPLIT_USB_DETECT // side with usb-connection becomes master +#define NO_USB_STARTUP_CHECK // allows the slave to wake up the pc +// #define RGBLIGHT_SPLIT // share rgb light mode +// #define SPLIT_MODS_ENABLE // shares modifier state between both sides (adds communication!) +// #define SPLIT_TRANSPORT_MIRROR // shares master matrix with slave (adds communication!) /*** MOD_TAP ***/ // great guide on this topic https://precondition.github.io/home-row-mods diff --git a/keyboards/kyria/keymaps/scda/keymap.c b/keyboards/kyria/keymaps/scda/keymap.c index 33371a48659..be23e4609ee 100644 --- a/keyboards/kyria/keymaps/scda/keymap.c +++ b/keyboards/kyria/keymaps/scda/keymap.c @@ -108,48 +108,47 @@ 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_setrgb(RGB_CHARTREUSE); + rgblight_sethsv_noeeprom(HSV_CHARTREUSE); } +void sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) { rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2); } + // 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_setrgb(RGB_CHARTREUSE); + rgblight_sethsv_noeeprom(HSV_CHARTREUSE); break; case _SYMBOLS: - rgblight_setrgb(RGB_GOLDENROD); + rgblight_sethsv_noeeprom(HSV_ORANGE); break; case _NUMBERS: - 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); + rgblight_sethsv_noeeprom(HSV_SPRINGGREEN); + sethsv_master(HSV_OFF); + break; + case _CODE: + rgblight_sethsv_noeeprom(HSV_PINK); + sethsv_master(HSV_OFF); + break; + case _NAV: + rgblight_sethsv_noeeprom(HSV_CYAN); + sethsv_master(HSV_OFF); + break; + case _FN: + rgblight_sethsv_noeeprom(HSV_OFF); + sethsv_master(HSV_PURPLE); + break; + case _MEDIA: + rgblight_sethsv_noeeprom(HSV_OFF); + sethsv_master(HSV_TEAL); + break; + case _KBD_CTRL: + rgblight_sethsv_noeeprom_white(); 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_setrgb(RGB_RED); + rgblight_setrgb(HSV_RED); break; } return state; diff --git a/keyboards/kyria/keymaps/scda/rules.mk b/keyboards/kyria/keymaps/scda/rules.mk index 0cf838d77cb..9ffd26ac2b8 100644 --- a/keyboards/kyria/keymaps/scda/rules.mk +++ b/keyboards/kyria/keymaps/scda/rules.mk @@ -1,4 +1,4 @@ OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -ENCODER_ENABLE = no +ENCODER_ENABLE = no # Disable rotary encoders # NKRO_ENABLE = yes