commit b5127dc1a54ab911dfc806c8a811bc273654bb82
parent eebdcba18ef06ab16fac139073e0e9b599302b6e
Author: dwrz <dwrz@dwrz.net>
Date: Mon, 26 Aug 2024 14:22:54 +0000
Refactor keymap
Diffstat:
1 file changed, 24 insertions(+), 34 deletions(-)
diff --git a/qmk/equals48/keymap.c b/qmk/equals48/keymap.c
@@ -1,3 +1,11 @@
+// https://docs.qmk.fm/#/feature_audio
+// MACROS:
+// DM_REC1
+// DM_REC2
+// DM_PLY1
+// DM_PLY2
+// DM_RSTP
+
#include QMK_KEYBOARD_H
#define LT_EDT LT(_EDIT, KC_Q)
@@ -38,10 +46,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_LALT, KC_LGUI, KC_NO, KC_SPC, KC_RCTL, KC_HOME, KC_END, KC_PGUP, KC_PGDN
),
[_MOUSE] = LAYOUT_ortho_4x12(
- KC_NO, KC_NO, KC_TRNS, KC_ACL2, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U,
- KC_NO, KC_ACL0, KC_NO, KC_ACL1, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
- 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_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_NO
+ KC_NO, KC_NO, KC_TRNS, KC_ACL2, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U,
+ KC_NO, KC_ACL0, KC_NO, KC_ACL1, KC_LCTL, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
+ 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_LALT, KC_LGUI, KC_NO, KC_BTN3, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_NO
),
[_NUM] = LAYOUT_ortho_4x12(
KC_NO, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_NO, KC_NO, KC_CIRC, KC_7, KC_8, KC_9, KC_0,
@@ -56,10 +64,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
[_EDIT] = LAYOUT_ortho_4x12(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS,
- 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_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, KC_NO, KC_PSTE, KC_NO, KC_NO, KC_NO, KC_COPY, QK_REP, QK_AREP, KC_INS,
+ KC_NO, KC_AGIN, KC_NO, KC_NO, KC_UNDO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLCT, KC_NO,
+ KC_NO, KC_NO, KC_TRNS, KC_NO, KC_CUT, 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_CLR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
),
[_FUNC] = LAYOUT_ortho_4x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
@@ -69,26 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-// http://www.keyboard-layout-editor.com/
-// https://docs.qmk.fm/#/feature_audio
-
-// https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
-// Repeat key: QK_REP, QK_AREP
-// KC_SELECT KC_SLCT Select
-// KC_AGAIN KC_AGIN Again
-// KC_UNDO Undo
-// KC_CUT Cut
-// KC_COPY Copy
-// KC_PASTE KC_PSTE Paste
-// KC_CLEAR KC_CLR Clear
-
-// MACROS:
-// DM_REC1
-// DM_REC2
-// DM_PLY1
-// DM_PLY2
-// DM_RSTP
-
// https://docs.qmk.fm/#/feature_rgb_matrix
void set_led_color(uint8_t layer,
uint8_t row,
@@ -96,12 +84,18 @@ void set_led_color(uint8_t layer,
uint8_t led_min,
uint8_t led_max) {
uint8_t i = g_led_config.matrix_co[row][col];
- if (i >= led_min && i < led_max && i == NO_LED) {
+ if (i == NO_LED || i < led_min || i >= led_max) {
return;
}
+ // FIX
+ bool underglow = HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW);
+ if (underglow) {
+ rgb_matrix_set_color(i, RGB_RED);
+ return;
+ }
bool unused = keymap_key_to_keycode(layer, (keypos_t){col,row}) <= KC_TRNS;
- if (unused) {
+ if (unused && !underglow) {
rgb_matrix_set_color(i, RGB_OFF);
return;
}
@@ -168,10 +162,6 @@ void set_led_color(uint8_t layer,
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
uint8_t layer = get_highest_layer(layer_state);
- if (layer < 0) {
- return false;
- }
-
for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
set_led_color(layer, row, col, led_min, led_max);