Commit 414969893431
Changed files (4)
keyboards
eyelash_corne
config
keyboards/eyelash_corne/config/combos.dtsi
@@ -55,10 +55,10 @@ ZMK_COMBO(rbrc, &kp RBKT, RM3 RB3, BEP ERG QWE) // ]
ZMK_COMBO(labk, &kp GT, RT3 RT2, BEP ERG QWE) // <
ZMK_COMBO(rabk, &kp LT, RT2 RT1, BEP ERG QWE) // >
-ZMK_COMBO(dquo, &kp DQT, RT0 RM0, BEP ERG QWE) // "
-ZMK_COMBO(tilde, &kp TILDE, LT0 LM0, BEP ERG QWE) // ~
-ZMK_COMBO(prcnt, &kp PRCNT, LM0 LB0, BEP ERG QWE) // %
-ZMK_COMBO(grave, &kp GRAVE, RM0 RB0, BEP ERG QWE) // ` (non-dead)
+ZMK_COMBO(dquo, &standalone_dquo, RT0 RM0, BEP ERG QWE) // " (dead DQT + space on us-intl)
+ZMK_COMBO(tilde, &standalone_tild, LT0 LM0, BEP ERG QWE) // ~ (dead tilde + space on us-intl)
+ZMK_COMBO(prcnt, &kp PRCNT, LM0 LB0, BEP ERG QWE) // %
+ZMK_COMBO(grave, &standalone_grav, RM0 RB0, BEP ERG QWE) // ` (dead grave + space on us-intl)
ZMK_COMBO(star, &kp STAR, RT4 RM4, BEP ERG QWE) // *
ZMK_COMBO(plus, &kp PLUS, RM4 RB4, BEP ERG QWE) // +
keyboards/eyelash_corne/config/mod-morph.dtsi
@@ -33,6 +33,21 @@ ZMK_MACRO_ONE_PARAM(TREM, bindings =
<¯o_tap &kp MACRO_PLACEHOLDER>;
)
+// ~ to input (TILDE = LS(GRAVE), so use shift + grave)
+// Note: can't use "TILD" as name — it's a deprecated ZMK keycode #define
+ZMK_MACRO_ONE_PARAM(TILDEMACRO, bindings =
+ <¯o_press &kp LSHFT>,
+ <¯o_tap &kp GRAVE>,
+ <¯o_release &kp LSHFT>,
+ <¯o_param_1to1>,
+ <¯o_tap &kp MACRO_PLACEHOLDER>;
+)
+
+// Standalone dead key macros (dead key + space) for use in combos
+ZMK_MACRO(standalone_dquo, bindings = <¯o_tap &kp DQT &kp SPACE>;) // "
+ZMK_MACRO(standalone_tild, bindings = <¯o_press &kp LSHFT>, <¯o_tap &kp GRAVE>, <¯o_release &kp LSHFT>, <¯o_tap &kp SPACE>;) // ~
+ZMK_MACRO(standalone_grav, bindings = <¯o_tap &kp GRAVE &kp SPACE>;) // `
+
// ^ to input
ZMK_MACRO_ONE_PARAM(CIRC, bindings =
<&kp CARET>,
keyboards/moonlander/config/config.h
@@ -66,6 +66,7 @@
#define FR_DQUO_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_QUOTE)) SS_DELAY(50) SS_TAP(X_SPACE)
#define FR_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_SPACE)
#define FR_CIRC_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_SPACE)
+#define FR_TILD_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_GRAVE)) SS_DELAY(50) SS_TAP(X_SPACE)
#define FR_E_AIGU_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_QUOTE) SS_DELAY(50) SS_TAP(X_E) // é
#define FR_E_AIGU_CAPS_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_QUOTE) SS_DELAY(50) SS_RSFT(SS_TAP(X_E)) // É
#define FR_E_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_E) // è
keyboards/moonlander/config/keymap.c
@@ -45,6 +45,7 @@ enum custom_keycodes {
FR_E_AIGU_CAPS,
FR_E_GRAVE,
FR_E_GRAVE_CAPS,
+ FR_TILD,
FR_A_GRAVE,
FR_A_GRAVE_CAPS,
NUMWORD, // Numword layer activation
@@ -304,10 +305,10 @@ combo_t key_combos[] = {
[LABK] = COMBO(combo_qwe_labk, KC_LABK),
[RABK] = COMBO(combo_qwe_rabk, KC_RABK),
- [DQUO] = COMBO(combo_qwe_dquo, KC_DQUO),
- [TILDE] = COMBO(combo_qwe_tilde, KC_TILD),
+ [DQUO] = COMBO(combo_qwe_dquo, FR_DQUO),
+ [TILDE] = COMBO(combo_qwe_tilde, FR_TILD),
[PRCNT] = COMBO(combo_qwe_prcnt, KC_PERC),
- [GRAVE] = COMBO(combo_qwe_grave, KC_GRV),
+ [GRAVE] = COMBO(combo_qwe_grave, FR_GRAVE),
[STAR] = COMBO(combo_qwe_star, KC_ASTR),
[PLUS] = COMBO(combo_qwe_plus, KC_PLUS),
};
@@ -425,7 +426,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_BSLS, FR_GRAVE, KC_LABK, KC_RABK, KC_PMNS, KC_PIPE, XXXXXXX, XXXXXXX, KC_CIRC, KC_LCBR, KC_RCBR, KC_DLR, FR_CIRC, XXXXXXX,
XXXXXXX, KC_EXLM, KC_PAST, KC_PSLS, KC_EQL, KC_AMPR, XXXXXXX, XXXXXXX, KC_HASH, KC_LPRN, KC_RPRN, KC_SCLN, FR_DQUO, XXXXXXX,
- XXXXXXX, KC_TILD, KC_LBRC, KC_RBRC, KC_PLUS, KC_PERC, KC_AT, KC_COLN, KC_COMM, KC_DOT, FR_QUOT, XXXXXXX,
+ XXXXXXX, FR_TILD, KC_LBRC, KC_RBRC, KC_PLUS, KC_PERC, KC_AT, KC_COLN, KC_COMM, KC_DOT, FR_QUOT, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RM_VALU, RM_TOGG, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
),
@@ -581,6 +582,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(FR_CIRC_M);
}
break;
+ case FR_TILD:
+ if (record->event.pressed) {
+ SEND_STRING(FR_TILD_M);
+ }
+ break;
case FR_E_AIGU:
if (record->event.pressed) {
if (get_mods() & MOD_MASK_SHIFT) {