From 48834a8ae5c592c8f93a4cd69764dde2d4a6dc04 Mon Sep 17 00:00:00 2001 From: Michael Grote <michael.grote@posteo.de> Date: Mon, 18 Mar 2024 10:36:42 +0100 Subject: [PATCH] skeletyl: rgb layer colors --- .../skeletyl/keymaps/quotengrote/config.h | 1 + .../skeletyl/keymaps/quotengrote/keymap.c | 36 ++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/config.h b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/config.h index 57c924a425..cc432380af 100644 --- a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/config.h +++ b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/config.h @@ -13,3 +13,4 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED false #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 +#define SPLIT_LAYER_STATE_ENABLE // for layer indicators diff --git a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c index 9d67c39b4f..d97e51cadd 100644 --- a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c +++ b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c @@ -7,6 +7,32 @@ void keyboard_post_init_user(void) { rgblight_sethsv(4, 75, 150); // warmweiß (werte = farbton, sättigung, helligkeit) rgblight_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); } +// Layer indicator on all keys +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + for (uint8_t i = led_min; i < led_max; i++) { + switch(get_highest_layer(layer_state|default_layer_state)) { + case 5: + rgb_matrix_set_color(i, RGB_TURQUOISE); + break; + case 4: + rgb_matrix_set_color(i, RGB_GREEN); + break; + case 3: + rgb_matrix_set_color(i, RGB_BLUE); + break; + case 2: + rgb_matrix_set_color(i, RGB_RED); + break; + case 1: + rgb_matrix_set_color(i, RGB_WHITE); + break; + default: + rgblight_sethsv(4, 75, 150); + break; + } + } + return false; +} // combos; https://github.com/qmk/qmk_firmware/blob/master/docs/feature_combo.md enum combos { @@ -48,35 +74,35 @@ combo_t key_combos[] = { // keymap const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Buchstaben + // Buchstaben - white [0] = LAYOUT_split_3x5_3( LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, KC_U, DE_Z, KC_BSPC, LT(0,KC_A), LALT_T(KC_R), LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), LALT_T(KC_I), KC_O, DE_Y, LT(0,KC_X), LT(0,KC_C), LSFT_T(KC_D), LT(0,KC_V), KC_K, LSFT_T(KC_H), DE_COMM, DE_DOT, DE_MINS, XXXXXXX, LT(3, KC_DEL), LT(2, KC_ENT), LT(1, KC_SPC), OSL(3), XXXXXXX ), - // Zahlen + // Zahlen - red [1] = LAYOUT_split_3x5_3( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F10, KC_F11, XXXXXXX, XXXXXXX, KC_F12, XXXXXXX, _______, _______, _______, _______, XXXXXXX ), - // Sym + // Sym - blue [2] = LAYOUT_split_3x5_3( DE_CIRC, DE_LBRC, DE_LPRN, DE_LPRN, DE_SECT, DE_PERC, DE_RCBR, DE_RPRN, DE_RBRC, KC_BSPC, DE_EXLM, DE_DQUO, LSFT(DE_ACUT ), DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_AMPR, DE_QUES, DE_TILD, XXXXXXX, DE_ACUT , XXXXXXX, DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH, XXXXXXX, _______, _______, _______, _______, XXXXXXX ), - // Move + // Move - green [3] = LAYOUT_split_3x5_3( XXXXXXX, KC_HOME, KC_UP, KC_PGUP, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_HOME, KC_BSPC, KC_TAB, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, XXXXXXX, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, KC_END, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX ), - // Media + // Media - turkis/TURQUOISE [4] = LAYOUT_split_3x5_3( RGB_TOG, RGB_HUI, RGB_HUD, KC_PSCR, KC_VOLU, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, QK_CAPS_WORD_TOGGLE, RGB_MOD, RGB_SAI, RGB_SAD, XXXXXXX, KC_MUTE, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,