skeletyl, sweep: remove dia-layer and resort to tap'n'holds (#1)

<!--- Provide a general summary of your changes in the title above. -->

<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->

## Description

<!--- Describe your changes in detail here. -->

## Types of Changes

<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->
- [ ] 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

<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] 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: #1
Co-authored-by: Michael Grote <michael.grote@posteo.de>
Co-committed-by: Michael Grote <michael.grote@posteo.de>
This commit is contained in:
Michael Grote 2024-08-05 14:25:29 +02:00 committed by Michael Grote
parent 7fc479eb1c
commit 1c83f4840e
3 changed files with 90 additions and 62 deletions

View file

@ -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:
// <led-index> {siehe ../../skeletyl.c) <rgb-wert>
// 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;

View file

@ -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;

View file

@ -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 | |
------------------------------- -------------------------------
| | | | | | | | | | | |
------------------------------- -------------------------------
| | | | | | | |
------------------- -------------------
```