config

Personal configuration.
git clone git://code.dwrz.net/config
Log | Files | Refs

commit b5127dc1a54ab911dfc806c8a811bc273654bb82
parent eebdcba18ef06ab16fac139073e0e9b599302b6e
Author: dwrz <dwrz@dwrz.net>
Date:   Mon, 26 Aug 2024 14:22:54 +0000

Refactor keymap

Diffstat:
Mqmk/equals48/keymap.c | 58++++++++++++++++++++++++----------------------------------
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);