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
+ )
};