diff --git a/keyboards/hator/gravity/tkl/config.h b/keyboards/hator/gravity/tkl/config.h index 9ea3a999936e..2b117854dbfa 100644 --- a/keyboards/hator/gravity/tkl/config.h +++ b/keyboards/hator/gravity/tkl/config.h @@ -17,7 +17,8 @@ along with this program. If not, see . #pragma once #define SN32F2XX_RGB_MATRIX_ROW_PINS { C3,C1,C0, C6,C5,C4, C9,C8,C7, C12,C11,C10, B13,C14,C13, B14,B15,D3, A2,A4,A3 } -#define RGB_MATRIX_LED_COUNT 104 +#define RGB_MATRIX_LED_COUNT 103 #define MATRIX_UNSELECT_DRIVE_HIGH #define SN32F2XX_RGB_OUTPUT_ACTIVE_LEVEL SN32F2XX_RGB_OUTPUT_ACTIVE_HIGH -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 240 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250 +#define RGB_MATRIX_TIMEOUT 300000 diff --git a/keyboards/hator/gravity/tkl/keyboard.json b/keyboards/hator/gravity/tkl/keyboard.json index a22134d2da5e..5c6e45515b77 100644 --- a/keyboards/hator/gravity/tkl/keyboard.json +++ b/keyboards/hator/gravity/tkl/keyboard.json @@ -64,7 +64,7 @@ { "matrix": [ 0, 10 ], "flags": 4, "x": 156, "y": 0 }, { "matrix": [ 0, 11 ], "flags": 4, "x": 169, "y": 0 }, { "matrix": [ 0, 12 ], "flags": 4, "x": 182, "y": 0 }, - { "matrix": [ 0, 13 ], "flags": 2, "x": 12, "y": 0 }, + { "matrix": [ 0, 13 ], "flags": 8, "x": 12, "y": 0 }, { "matrix": [ 0, 14 ], "flags": 4, "x": 198, "y": 0 }, { "matrix": [ 0, 15 ], "flags": 4, "x": 211, "y": 0 }, { "matrix": [ 0, 16 ], "flags": 4, "x": 224, "y": 0 }, @@ -145,22 +145,21 @@ { "matrix": [ 5, 15 ], "flags": 4, "x": 211, "y": 64 }, { "matrix": [ 5, 16 ], "flags": 4, "x": 224, "y": 64 }, - { "matrix": [ 6, 0 ], "flags": 2, "x": 0, "y": 0 }, - { "matrix": [ 6, 1 ], "flags": 2, "x": 0, "y": 8 }, - { "matrix": [ 6, 2 ], "flags": 2, "x": 0, "y": 16 }, - { "matrix": [ 6, 3 ], "flags": 2, "x": 0, "y": 24 }, - { "matrix": [ 6, 4 ], "flags": 2, "x": 0, "y": 32 }, - { "matrix": [ 6, 5 ], "flags": 2, "x": 0, "y": 40 }, - { "matrix": [ 6, 6 ], "flags": 2, "x": 0, "y": 48 }, - { "matrix": [ 6, 7 ], "flags": 2, "x": 0, "y": 56 }, - { "matrix": [ 6, 8 ], "flags": 2, "x": 216, "y": 0 }, - { "matrix": [ 6, 9 ], "flags": 2, "x": 217, "y": 8 }, - { "matrix": [ 6, 10 ], "flags": 2, "x": 218, "y": 16 }, - { "matrix": [ 6, 11 ], "flags": 2, "x": 219, "y": 24 }, - { "matrix": [ 6, 12 ], "flags": 2, "x": 220, "y": 32 }, - { "matrix": [ 6, 13 ], "flags": 2, "x": 221, "y": 40 }, - { "matrix": [ 6, 14 ], "flags": 2, "x": 222, "y": 48 }, - { "matrix": [ 6, 15 ], "flags": 2, "x": 223, "y": 56 } + { "matrix": [ 6, 0 ], "flags": 4, "x": 0, "y": 0 }, + { "matrix": [ 6, 1 ], "flags": 4, "x": 0, "y": 8 }, + { "matrix": [ 6, 2 ], "flags": 4, "x": 0, "y": 16 }, + { "matrix": [ 6, 3 ], "flags": 4, "x": 0, "y": 24 }, + { "matrix": [ 6, 4 ], "flags": 4, "x": 0, "y": 32 }, + { "matrix": [ 6, 5 ], "flags": 4, "x": 0, "y": 40 }, + { "matrix": [ 6, 6 ], "flags": 4, "x": 0, "y": 48 }, + { "matrix": [ 6, 7 ], "flags": 4, "x": 0, "y": 56 }, + { "matrix": [ 6, 8 ], "flags": 4, "x": 216, "y": 0 }, + { "matrix": [ 6, 9 ], "flags": 4, "x": 217, "y": 8 }, + { "matrix": [ 6, 10 ], "flags": 4, "x": 218, "y": 16 }, + { "matrix": [ 6, 11 ], "flags": 4, "x": 219, "y": 24 }, + { "matrix": [ 6, 12 ], "flags": 4, "x": 220, "y": 32 }, + { "matrix": [ 6, 13 ], "flags": 4, "x": 221, "y": 40 }, + { "matrix": [ 6, 14 ], "flags": 4, "x": 222, "y": 48 }, ], "react_on_keyup": true, "sleep": true diff --git a/keyboards/hator/gravity/tkl/keymaps/default/keymap.c b/keyboards/hator/gravity/tkl/keymaps/default/keymap.c index c7d2a81eb789..9b5807d2d9af 100644 --- a/keyboards/hator/gravity/tkl/keymaps/default/keymap.c +++ b/keyboards/hator/gravity/tkl/keymaps/default/keymap.c @@ -20,11 +20,43 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +uint8_t r = 0; +uint8_t g = 0; +uint8_t b = 0; + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 255, 255, 255); // assuming caps lock is at led #13 (rbg) + r = 100; + } else { + r = 0; + } + if (host_keyboard_led_state().scroll_lock) { + g = 100; } else { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 0, 0, 0); + g = 0; + } + if (keymap_config.no_gui) { + b = 100; + } else { + b = 0; + } + RGB_MATRIX_INDICATOR_SET_COLOR(13, r, g, b); + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_RED); + } + } + } } return false; } @@ -51,14 +83,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MPLY, KC_MUTE, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - QK_BOOT, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_F7, KC_F8, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_TOG, RGB_VAI, RGB_VAD, - QK_RBT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SPI, RGB_SPD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, RGB_M_T, RGB_M_SN, RGB_M_X, + EE_CLR, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T, RGB_M_SN, RGB_M_X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, AG_LSWP, AG_LNRM, NK_TOGG, _______, _______, _______, _______, _______, _______, _______ - ) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, + _______, AG_LSWP, AG_LNRM, _______, _______, _______, GU_TOGG, _______, RGB_SPD, RGB_VAD, RGB_SPI + ) }; diff --git a/keyboards/hator/gravity/tkl/keymaps/via/keymap.c b/keyboards/hator/gravity/tkl/keymaps/via/keymap.c index 6170e4262cea..4141da360384 100644 --- a/keyboards/hator/gravity/tkl/keymaps/via/keymap.c +++ b/keyboards/hator/gravity/tkl/keymaps/via/keymap.c @@ -43,31 +43,62 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |LCTRL| LGUI| LALT | SPACE | RALT| RGUI | FN | RCTRL | |LFT |DWN |RGT | +--------------------------------------------------------------------------+----------------+ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [0] = { { KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS}, - { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP}, - { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN}, - { KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, KC_MPRV, KC_MNXT, KC_NO}, - { KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO, KC_UP, KC_NO}, - { KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT} - }, - - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [1] = { { QK_BOOT, KC_WHOM, KC_CALC, KC_MYCM, KC_MAIL, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, _______, _______, _______, KC_PSCR, KC_SLEP, RGB_TOG }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, RGB_M_P, RGB_HUI }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, RGB_SPI }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, KC_CONTROL_PANEL, _______, KC_NO }, - { _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, KC_VOLU, RGB_SAI }, - { _______, KC_LALT, KC_LGUI, KC_NO, KC_NO, KC_NO, NK_TOGG, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, RGB_MODE_REVERSE, KC_VOLD, RGB_MODE_FORWARD } - }, + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MPLY, KC_MUTE, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + EE_CLR, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T, RGB_M_SN, RGB_M_X, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, + _______, AG_LSWP, AG_LNRM, _______, _______, _______, GU_TOGG, _______, RGB_SPD, RGB_VAD, RGB_SPI + ) }; -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +uint8_t r = 0; +uint8_t g = 0; +uint8_t b = 0; + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 255, 255, 255); // assuming caps lock is at led #13 (rbg) + r = 100; + } else { + r = 0; + } + if (host_keyboard_led_state().scroll_lock) { + g = 100; } else { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 0, 0, 0); + g = 0; + } + if (keymap_config.no_gui) { + b = 100; + } else { + b = 0; + } + RGB_MATRIX_INDICATOR_SET_COLOR(13, r, g, b); + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_RED); + } + } + } } return false; } diff --git a/keyboards/hator/gravity/tkl/readme.md b/keyboards/hator/gravity/tkl/readme.md index 2234ebac37be..28c0c87e4ae8 100644 --- a/keyboards/hator/gravity/tkl/readme.md +++ b/keyboards/hator/gravity/tkl/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape) and plug in the keyboard * **Physical reset button**: You can locate the boot pins under the Spacebar. -* **Keycode in layout**: Press Fn1+ESC to enter the bootloader mode. +* **Keycode in layout**: Press Fn1+~ to enter the bootloader mode. diff --git a/keyboards/hator/gravity/xtkl/config.h b/keyboards/hator/gravity/xtkl/config.h index 22dece50e220..4bbf744cdf06 100644 --- a/keyboards/hator/gravity/xtkl/config.h +++ b/keyboards/hator/gravity/xtkl/config.h @@ -20,5 +20,6 @@ along with this program. If not, see . #define SN32F2XX_RGB_MATRIX_ROW_PINS { C3,C1,C0, C6,C5,C4, C9,C8,C7, C12,C11,C10, B13,C14,C13, B14,B15,D3, A2,A4,A3 } #define SN32F2XX_RGB_OUTPUT_ACTIVE_LEVEL SN32F2XX_RGB_OUTPUT_ACTIVE_HIGH -#define RGB_MATRIX_LED_COUNT 104 -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 240 +#define RGB_MATRIX_LED_COUNT 103 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250 +#define RGB_MATRIX_TIMEOUT 300000 diff --git a/keyboards/hator/gravity/xtkl/keyboard.json b/keyboards/hator/gravity/xtkl/keyboard.json index cc5d28d36f4f..9c860aff8d7d 100644 --- a/keyboards/hator/gravity/xtkl/keyboard.json +++ b/keyboards/hator/gravity/xtkl/keyboard.json @@ -59,7 +59,7 @@ { "matrix": [ 0, 10 ], "flags": 4, "x": 156, "y": 0 }, { "matrix": [ 0, 11 ], "flags": 4, "x": 169, "y": 0 }, { "matrix": [ 0, 12 ], "flags": 4, "x": 182, "y": 0 }, - { "matrix": [ 0, 13 ], "flags": 2, "x": 12, "y": 0 }, + { "matrix": [ 0, 13 ], "flags": 8, "x": 12, "y": 0 }, { "matrix": [ 0, 14 ], "flags": 4, "x": 198, "y": 0 }, { "matrix": [ 0, 15 ], "flags": 4, "x": 211, "y": 0 }, { "matrix": [ 0, 16 ], "flags": 4, "x": 224, "y": 0 }, @@ -140,22 +140,21 @@ { "matrix": [ 5, 15 ], "flags": 4, "x": 211, "y": 64 }, { "matrix": [ 5, 16 ], "flags": 4, "x": 224, "y": 64 }, - { "matrix": [ 6, 0 ], "flags": 2, "x": 0, "y": 0 }, - { "matrix": [ 6, 1 ], "flags": 2, "x": 0, "y": 8 }, - { "matrix": [ 6, 2 ], "flags": 2, "x": 0, "y": 16 }, - { "matrix": [ 6, 3 ], "flags": 2, "x": 0, "y": 24 }, - { "matrix": [ 6, 4 ], "flags": 2, "x": 0, "y": 32 }, - { "matrix": [ 6, 5 ], "flags": 2, "x": 0, "y": 40 }, - { "matrix": [ 6, 6 ], "flags": 2, "x": 0, "y": 48 }, - { "matrix": [ 6, 7 ], "flags": 2, "x": 0, "y": 56 }, - { "matrix": [ 6, 8 ], "flags": 2, "x": 216, "y": 0 }, - { "matrix": [ 6, 9 ], "flags": 2, "x": 217, "y": 8 }, - { "matrix": [ 6, 10 ], "flags": 2, "x": 218, "y": 16 }, - { "matrix": [ 6, 11 ], "flags": 2, "x": 219, "y": 24 }, - { "matrix": [ 6, 12 ], "flags": 2, "x": 220, "y": 32 }, - { "matrix": [ 6, 13 ], "flags": 2, "x": 221, "y": 40 }, - { "matrix": [ 6, 14 ], "flags": 2, "x": 222, "y": 48 }, - { "matrix": [ 6, 15 ], "flags": 2, "x": 223, "y": 56 } + { "matrix": [ 6, 0 ], "flags": 4, "x": 0, "y": 0 }, + { "matrix": [ 6, 1 ], "flags": 4, "x": 0, "y": 8 }, + { "matrix": [ 6, 2 ], "flags": 4, "x": 0, "y": 16 }, + { "matrix": [ 6, 3 ], "flags": 4, "x": 0, "y": 24 }, + { "matrix": [ 6, 4 ], "flags": 4, "x": 0, "y": 32 }, + { "matrix": [ 6, 5 ], "flags": 4, "x": 0, "y": 40 }, + { "matrix": [ 6, 6 ], "flags": 4, "x": 0, "y": 48 }, + { "matrix": [ 6, 7 ], "flags": 4, "x": 0, "y": 56 }, + { "matrix": [ 6, 8 ], "flags": 4, "x": 216, "y": 0 }, + { "matrix": [ 6, 9 ], "flags": 4, "x": 217, "y": 8 }, + { "matrix": [ 6, 10 ], "flags": 4, "x": 218, "y": 16 }, + { "matrix": [ 6, 11 ], "flags": 4, "x": 219, "y": 24 }, + { "matrix": [ 6, 12 ], "flags": 4, "x": 220, "y": 32 }, + { "matrix": [ 6, 13 ], "flags": 4, "x": 221, "y": 40 }, + { "matrix": [ 6, 14 ], "flags": 4, "x": 222, "y": 48 } ], "react_on_keyup": true, "sleep": true diff --git a/keyboards/hator/gravity/xtkl/keymaps/default/keymap.c b/keyboards/hator/gravity/xtkl/keymaps/default/keymap.c index e1096b029233..6465db864a03 100644 --- a/keyboards/hator/gravity/xtkl/keymaps/default/keymap.c +++ b/keyboards/hator/gravity/xtkl/keymaps/default/keymap.c @@ -20,11 +20,43 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +uint8_t r = 0; +uint8_t g = 0; +uint8_t b = 0; + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 255, 255, 255); // assuming caps lock is at led #13 (rbg) + r = 100; + } else { + r = 0; + } + if (host_keyboard_led_state().scroll_lock) { + g = 100; } else { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 0, 0, 0); + g = 0; + } + if (keymap_config.no_gui) { + b = 100; + } else { + b = 0; + } + RGB_MATRIX_INDICATOR_SET_COLOR(13, r, g, b); + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_BLUE); + } + } + } } return false; } @@ -54,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - QK_BOOT, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, RGB_M_T, RGB_M_SN, RGB_M_X, + EE_CLR, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, RGB_M_T, RGB_M_SN, RGB_M_X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, AG_LSWP, AG_LNRM, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI - ) + _______, AG_LSWP, AG_LNRM, _______, _______, _______, GU_TOGG, _______, RGB_SPD, RGB_VAD, RGB_SPI + ) }; diff --git a/keyboards/hator/gravity/xtkl/keymaps/via/keymap.c b/keyboards/hator/gravity/xtkl/keymaps/via/keymap.c index b23577bca2a0..fe6ed9bd4d88 100644 --- a/keyboards/hator/gravity/xtkl/keymaps/via/keymap.c +++ b/keyboards/hator/gravity/xtkl/keymaps/via/keymap.c @@ -20,11 +20,43 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +uint8_t r = 0; +uint8_t g = 0; +uint8_t b = 0; + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } if (host_keyboard_led_state().caps_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 255, 255, 255); // assuming caps lock is at led #13 (rbg) + r = 100; + } else { + r = 0; + } + if (host_keyboard_led_state().scroll_lock) { + g = 100; } else { - RGB_MATRIX_INDICATOR_SET_COLOR(13, 0, 0, 0); + g = 0; + } + if (keymap_config.no_gui) { + b = 100; + } else { + b = 0; + } + RGB_MATRIX_INDICATOR_SET_COLOR(13, r, g, b); + if (get_highest_layer(layer_state) > 0) { + uint8_t layer = get_highest_layer(layer_state); + + for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { + for (uint8_t col = 0; col < MATRIX_COLS; ++col) { + uint8_t index = g_led_config.matrix_co[row][col]; + + if (index >= led_min && index < led_max && index != NO_LED && + keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS) { + rgb_matrix_set_color(index, RGB_BLUE); + } + } + } } return false; } @@ -54,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( - QK_BOOT, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, RGB_M_T, RGB_M_SN, RGB_M_X, + EE_CLR, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MYCM, KC_WHOM, KC_WFAV, KC_CPNL, KC_CALC, KC_MAIL, KC_BRID, KC_BRIU, RGB_HUD, RGB_TOG, RGB_HUI, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T, RGB_M_SN, RGB_M_X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, - _______, AG_LSWP, AG_LNRM, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI - ) + _______, AG_LSWP, AG_LNRM, _______, _______, _______, GU_TOGG, _______, RGB_SPD, RGB_VAD, RGB_SPI + ) };