From dea7ba791fe4cc7a4e6b150ed30b97cfb518abb8 Mon Sep 17 00:00:00 2001 From: Michael Grote Date: Mon, 5 Aug 2024 14:25:29 +0200 Subject: [PATCH] skeletyl, sweep: remove dia-layer and resort to tap'n'holds (#1) ## Description ## Types of Changes - [ ] Core - [ ] Bugfix - [ ] New feature - [ ] Enhancement/optimization - [ ] Keyboard (addition or update) - [ ] Keymap/layout/userspace (addition or update) - [ ] Documentation ## Issues Fixed or Closed by This PR * ## Checklist - [ ] My code follows the code style of this project: [**C**](https://docs.qmk.fm/#/coding_conventions_c), [**Python**](https://docs.qmk.fm/#/coding_conventions_python) - [ ] I have read the [**PR Checklist** document](https://docs.qmk.fm/#/pr_checklist) and have made the appropriate changes. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [ ] I have read the [**CONTRIBUTING** document](https://docs.qmk.fm/#/contributing). - [ ] I have added tests to cover my changes. - [ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage). Reviewed-on: https://git.mgrote.net/mg/qmk_sweep_skeletyl/pulls/1 Co-authored-by: Michael Grote Co-committed-by: Michael Grote --- .../skeletyl/keymaps/quotengrote/keymap.c | 78 ++++++++++++------- keyboards/ferris/keymaps/quotengrote/keymap.c | 39 ++++++---- readme.md | 35 ++++----- 3 files changed, 90 insertions(+), 62 deletions(-) diff --git a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c index c2aecd441d..9a7bb2a81b 100644 --- a/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c +++ b/keyboards/bastardkb/skeletyl/keymaps/quotengrote/keymap.c @@ -17,21 +17,47 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // layer rgb for (uint8_t i = led_min; i < led_max; i++) { switch(get_highest_layer(layer_state|default_layer_state)) { + //base case 0: - rgblight_sethsv(4, 75, 150); // warmhite (werte = hue, saturation, value) + rgblight_sethsv(4, 75, 150); // warmwhite (werte = hue, saturation, value) break; + // num case 1: // {siehe ../../skeletyl.c) + // color thumbs rgb_matrix_set_color(35, 255, 165, 0); // orange rgb_matrix_set_color(34, 255, 165, 0); // orange rgb_matrix_set_color(33, 255, 165, 0); // orange break; + // sym case 2: + // color thumbs rgb_matrix_set_color(15, 0, 90, 255); // blue rgb_matrix_set_color(16, 0, 90, 255); // blue rgb_matrix_set_color(17, 0, 90, 255); // blue + // color pairs + // ´` + rgb_matrix_set_color(5, 20, 214, 22); // 50 shades of green + rgb_matrix_set_color(11, 20, 214, 22); // 50 shades of green + // [] + rgb_matrix_set_color(3, 44, 0, 232); // 50 shades of blue + rgb_matrix_set_color(21, 44, 0, 232); // 50 shades of blue + // () + rgb_matrix_set_color(8, 44, 0, 207); // 50 shades of blue + rgb_matrix_set_color(26, 44, 0, 207); // 50 shades of blue + // {} + rgb_matrix_set_color(9, 44, 0, 171); // 50 shades of blue + rgb_matrix_set_color(27, 44, 0, 171); // 50 shades of blue + // \/ + rgb_matrix_set_color(13, 235, 235, 19); // 50 shades of yellow + rgb_matrix_set_color(31, 235, 235, 19); // 50 shades of yellow + // <> + rgb_matrix_set_color(14, 235, 56, 19); // 50 shades of red + rgb_matrix_set_color(32, 235, 56, 19); // 50 shades of red break; + // mov case 3: + // color thumbs rgb_matrix_set_color(35, 4, 147, 4); // green rgb_matrix_set_color(34, 4, 147, 4); // green rgb_matrix_set_color(33, 4, 147, 4); // green @@ -39,7 +65,9 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { rgb_matrix_set_color(16, 4, 147, 4); // green rgb_matrix_set_color(17, 4, 147, 4); // green break; + // media case 4: + // color thumbs rgb_matrix_set_color(35, 255, 241, 21); // yellow rgb_matrix_set_color(34, 255, 241, 21); // yellow rgb_matrix_set_color(33, 255, 241, 21); // yellow @@ -47,14 +75,6 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { rgb_matrix_set_color(16, 255, 241, 21); // yellow rgb_matrix_set_color(17, 255, 241, 21); // yellow break; - case 5: - rgb_matrix_set_color(35, 165, 16, 16); // dark red - rgb_matrix_set_color(34, 165, 16, 16); // dark red - rgb_matrix_set_color(33, 165, 16, 16); // dark red - rgb_matrix_set_color(15, 165, 16, 16); // dark red - rgb_matrix_set_color(16, 165, 16, 16); // dark red - rgb_matrix_set_color(17, 165, 16, 16); // dark red - break; default: rgblight_sethsv(4, 75, 150); // warmwhite (werte = hue, saturation, value) break; @@ -63,32 +83,31 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { return false; } - // combos; https://github.com/qmk/qmk_firmware/blob/master/docs/feature_combo.md enum combos { + C_ALT, C_KA, C_KK, C_ESC, C_MED, - C_DIA, C_SV, // Strg + S C_WE // Windows Explorer }; +const uint16_t PROGMEM alt_combo[] = {LCTL_T(KC_E), KC_I, COMBO_END}; const uint16_t PROGMEM ka_combo[] = {KC_R, LSFT_T(KC_T), COMBO_END}; const uint16_t PROGMEM kk_combo[] = {LSFT_T(KC_N), KC_I, COMBO_END}; const uint16_t PROGMEM esc_combo[] = {LCTL_T(KC_S), LSFT_T(KC_T), COMBO_END}; const uint16_t PROGMEM med_combo[] = {LT(3, KC_DEL), MO(3), COMBO_END}; -const uint16_t PROGMEM dia_combo[] = {LT(2, KC_ENT), LT(1, KC_SPC), COMBO_END}; const uint16_t PROGMEM sv_combo[] = {LCTL_T(KC_S), LT(0,KC_C), COMBO_END}; const uint16_t PROGMEM we_combo[] = {LT(0,KC_W), LCTL_T(KC_E), COMBO_END}; combo_t key_combos[] = { + [C_ALT] = COMBO(alt_combo, KC_LALT), [C_KA] = COMBO(ka_combo, LCTL(LALT(KC_A))), [C_KK] = COMBO(kk_combo, LCTL(LALT(KC_K))), [C_ESC] = COMBO(esc_combo, KC_ESC), [C_MED] = COMBO(med_combo, MO(4)), - [C_DIA] = COMBO(dia_combo, OSL(5)), [C_SV] = COMBO(sv_combo, LCTL(KC_S)), [C_WE] = COMBO(we_combo, LGUI(KC_E)), }; @@ -97,8 +116,8 @@ combo_t key_combos[] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 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), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, KC_O, + LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, LT(0,KC_U), DE_Z, KC_BSPC, + LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, LT(0,KC_O), LT(0,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), MO(3), XXXXXXX ), @@ -111,10 +130,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // 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_ASTR, DE_QUES, - DE_TILD, XXXXXXX, DE_ACUT, XXXXXXX, DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH, - XXXXXXX, _______, _______, _______, _______, XXXXXXX + DE_CIRC, DE_LBRC, DE_LPRN, DE_LPRN, DE_SECT, DE_PERC, DE_RCBR, DE_RPRN, DE_RBRC, KC_BSPC, + DE_EXLM, DE_DQUO, DE_SS, DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES, + DE_TILD, DE_ACUT, XXXXXXX, LSFT(DE_ACUT), DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH, + XXXXXXX, _______, _______, _______, _______, XXXXXXX ), // Move - green [3] = LAYOUT_split_3x5_3( @@ -129,13 +148,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_VOLD, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX - ), - // Diacretics - dark red - [5] = LAYOUT_split_3x5_3( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_UDIA, XXXXXXX, XXXXXXX, - DE_ADIA, KC_LALT, DE_SS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, DE_ODIA, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, _______, _______, _______, _______, XXXXXXX ) }; @@ -181,7 +193,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; case LT(0,KC_A): if (!record->tap.count && record->event.pressed) { - tap_code16(KC_TAB); + tap_code16(DE_ADIA); + return false; + } + return true; + case LT(0,KC_O): + if (!record->tap.count && record->event.pressed) { + tap_code16(DE_ODIA); + return false; + } + return true; + case LT(0,KC_U): + if (!record->tap.count && record->event.pressed) { + tap_code16(DE_UDIA); return false; } return true; diff --git a/keyboards/ferris/keymaps/quotengrote/keymap.c b/keyboards/ferris/keymaps/quotengrote/keymap.c index 1859b4b55e..ca196b920f 100644 --- a/keyboards/ferris/keymaps/quotengrote/keymap.c +++ b/keyboards/ferris/keymaps/quotengrote/keymap.c @@ -3,29 +3,29 @@ // combos; https://github.com/qmk/qmk_firmware/blob/master/docs/feature_combo.md enum combos { + C_ALT, C_KA, C_KK, C_ESC, C_MED, - C_DIA, C_SV, // Strg + S C_WE // Windows Explorer }; +const uint16_t PROGMEM alt_combo[] = {LCTL_T(KC_E), KC_I, COMBO_END}; const uint16_t PROGMEM ka_combo[] = {KC_R, LSFT_T(KC_T), COMBO_END}; const uint16_t PROGMEM kk_combo[] = {LSFT_T(KC_N), KC_I, COMBO_END}; const uint16_t PROGMEM esc_combo[] = {LCTL_T(KC_S), LSFT_T(KC_T), COMBO_END}; const uint16_t PROGMEM med_combo[] = {LT(3, KC_DEL), MO(3), COMBO_END}; -const uint16_t PROGMEM dia_combo[] = {LT(2, KC_ENT), LT(1, KC_SPC), COMBO_END}; const uint16_t PROGMEM sv_combo[] = {LCTL_T(KC_S), LT(0,KC_C), COMBO_END}; const uint16_t PROGMEM we_combo[] = {LT(0,KC_W), LCTL_T(KC_E), COMBO_END}; combo_t key_combos[] = { + [C_ALT] = COMBO(alt_combo, KC_LALT), [C_KA] = COMBO(ka_combo, LCTL(LALT(KC_A))), [C_KK] = COMBO(kk_combo, LCTL(LALT(KC_K))), [C_ESC] = COMBO(esc_combo, KC_ESC), [C_MED] = COMBO(med_combo, MO(4)), - [C_DIA] = COMBO(dia_combo, OSL(5)), [C_SV] = COMBO(sv_combo, LCTL(KC_S)), [C_WE] = COMBO(we_combo, LGUI(KC_E)), }; @@ -34,8 +34,8 @@ combo_t key_combos[] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Buchstaben - white [0] = LAYOUT_split_3x5_2( - 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), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, KC_O, + LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, LT(0,KC_U), DE_Z, KC_BSPC, + LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, LT(0,KC_O), LT(0,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, LT(3, KC_DEL), LT(2, KC_ENT), LT(1, KC_SPC), MO(3) ), @@ -48,10 +48,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Sym - blue [2] = LAYOUT_split_3x5_2( - 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_ASTR, DE_QUES, - DE_TILD, XXXXXXX, DE_ACUT, XXXXXXX, DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH, - _______, _______, _______, _______ + DE_CIRC, DE_LBRC, DE_LPRN, DE_LPRN, DE_SECT, DE_PERC, DE_RCBR, DE_RPRN, DE_RBRC, KC_BSPC, + DE_EXLM, DE_DQUO, DE_SS, DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES, + DE_TILD, DE_ACUT, XXXXXXX, LSFT(DE_ACUT), DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH, + _______, _______, _______, _______ ), // Move - green [3] = LAYOUT_split_3x5_2( @@ -66,13 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, RGB_SAI, RGB_SAD, XXXXXXX, KC_MUTE, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAI, RGB_VAD, KC_MPLY, KC_VOLD, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______ - ), - // Diacretics - dark red - [5] = LAYOUT_split_3x5_2( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_UDIA, XXXXXXX, XXXXXXX, - DE_ADIA, KC_LALT, DE_SS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, DE_ODIA, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______ ) }; // https://github.com/qmk/qmk_firmware/blob/master/docs/mod_tap.md#changing-hold-function @@ -117,7 +110,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; case LT(0,KC_A): if (!record->tap.count && record->event.pressed) { - tap_code16(KC_TAB); + tap_code16(DE_ADIA); + return false; + } + return true; + case LT(0,KC_O): + if (!record->tap.count && record->event.pressed) { + tap_code16(DE_ODIA); + return false; + } + return true; + case LT(0,KC_U): + if (!record->tap.count && record->event.pressed) { + tap_code16(DE_UDIA); return false; } return true; diff --git a/readme.md b/readme.md index 9366be644f..34bc2a2782 100644 --- a/readme.md +++ b/readme.md @@ -7,9 +7,9 @@ ```text Home Row Mods / Tap'n'Hold ------------------------------- ------------------------------- -| @ | WIN | € | | | | | | | | | +| @ | WIN | € | | | | | | Ü | | | ------------------------------- ------------------------------- -| TAB | | CTL | SFT | | | | SFT | CTL | | | +| Ä | | CTRL| SFT | | | | SFT | CTRL| | Ö | ------------------------------- ------------------------------- | | | CUT | CPY | SFT | PST | | | SFT | | | | ------------------------------- ------------------------------- @@ -42,9 +42,9 @@ SYM Layer ------------------------------- ------------------------------- | ^ | [ | ( | ( | § | | % | } | ) | ] | BSPC| ------------------------------- ------------------------------- -| ! | " | ` | ' | / | | \ | $ | & | * | ? | +| ! | " | ß | ' | / | | \ | $ | & | * | ? | ------------------------------- ------------------------------- -| ~ | | ´ | | < | | > | | + | = | # | +| ~ | ´ | | ` | < | | > | | + | = | # | ------------------------------- ------------------------------- | | DEL | ENT | | SPC | MOV | | ------------------- ------------------- @@ -71,18 +71,7 @@ MEDIA Layer | | DEL | ENT | | SPC | MOV | | ------------------- ------------------- -DIACRETICS Layer -------------------------------- ------------------------------- -| | | | | | | | | Ü | | | -------------------------------- ------------------------------- -| Ä | ALT | ß | | | | | | | ALT | Ö | -------------------------------- ------------------------------- -| | | | | | | | | | | | -------------------------------- ------------------------------- - | | | | | | | | - ------------------- ------------------- - -Combos 1/2 +Combos 1/3 ------------------------------- ------------------------------- | | | | | | | | | | | | ------------------------------- ------------------------------- @@ -90,10 +79,10 @@ Combos 1/2 ------------------------------- ------------------------------- | | | | | | | | | | | | ------------------------------- ------------------------------- - | |MEDIA| DIA | | DIA |MEDIA| | + | |MEDIA| | | |MEDIA| | ------------------- ------------------- -Combos 2/2 +Combos 2/3 ------------------------------- ------------------------------- | | WE | | | | | | | | | | ------------------------------- ------------------------------- @@ -104,4 +93,14 @@ Combos 2/2 | | | | | | | | ------------------- ------------------- +Combos 3/3 +------------------------------- ------------------------------- +| | | | | | | | | | | | +------------------------------- ------------------------------- +| | | | | | | | | ALT | ALT | | +------------------------------- ------------------------------- +| | | | | | | | | | | | +------------------------------- ------------------------------- + | | | | | | | | + ------------------- ------------------- ```