diff options
Diffstat (limited to 'waffle')
-rw-r--r-- | waffle/config.h | 1 | ||||
-rw-r--r-- | waffle/tapping.c | 86 | ||||
-rw-r--r-- | waffle/waffle.h | 16 |
3 files changed, 32 insertions, 71 deletions
diff --git a/waffle/config.h b/waffle/config.h index 649c0ab..0003b01 100644 --- a/waffle/config.h +++ b/waffle/config.h @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define IGNORE_MOD_TAP_INTERRUPT #define TAPPING_TERM_PER_KEY #define PERSMISSVE_HOLD #define TAPPING_TERM 140 diff --git a/waffle/tapping.c b/waffle/tapping.c index 1294384..95373a0 100644 --- a/waffle/tapping.c +++ b/waffle/tapping.c @@ -38,7 +38,7 @@ void td_reset(tap_dance_state_t *state, void *user_data) { layer_clear(); } -void qmk_dance(tap_dance_state_t *state, void *user_data) { +void repo_config(tap_dance_state_t *state, void *user_data) { if (state->count == 1) { tap_code16(C(KC_T)); send_string(qmkstr); @@ -50,48 +50,16 @@ void qmk_dance(tap_dance_state_t *state, void *user_data) { } } -void dash_dance(tap_dance_state_t *state, void *user_data) { +void em_dash_mins(tap_dance_state_t *state, void *user_data) { if (state->count == 1) tap_code(KC_MINS); - else if (state->count == 3) - tap_code(KC_MINS), tap_code(KC_MINS); #ifdef UNICODE_COMMON_ENABLE else register_unicode(0x2014); //— #endif } -void curly_bracket_dance(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) - tap_code16(KC_LCBR); - else - tap_code16(KC_RCBR); -} - -void bracket_dance(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) - tap_code(KC_LBRC); - else - tap_code(KC_RBRC); -} - -void bsls_pipe_dance(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) - tap_code(KC_BSLS); - else if (state->count == 3) - tap_code16(KC_PIPE), tap_code16(KC_PIPE); - else - tap_code16(KC_PIPE); -} - -void quot_dquo_dance(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) - tap_code(KC_QUOT); - else - tap_code16(KC_DQUO); -} - -void zero_dance(tap_dance_state_t *state, void *user_data) { +void zero_degree(tap_dance_state_t *state, void *user_data) { if (state->count == 1) tap_code(KC_0); #ifdef UNICODE_COMMON_ENABLE @@ -100,7 +68,7 @@ void zero_dance(tap_dance_state_t *state, void *user_data) { #endif } -void media_dance(tap_dance_state_t *state, void *user_data) { +void media_control(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: tap_code(KC_MPLY); @@ -114,7 +82,15 @@ void media_dance(tap_dance_state_t *state, void *user_data) { } } -void clipst_search_dance(tap_dance_state_t *state, void *user_data) { +void spc_quadspc(tap_dance_state_t *state, void *user_data) { + if (state->count == 1) + tap_code(KC_SPC); + else + tap_code(KC_SPC), tap_code(KC_SPC), + tap_code(KC_SPC), tap_code(KC_SPC); +} + +void rse_pst_srch(tap_dance_state_t *state, void *user_data) { if (state->pressed && !state->interrupted) layer_on(_RAISE); else if (state->count == 1) @@ -124,18 +100,18 @@ void clipst_search_dance(tap_dance_state_t *state, void *user_data) { } tap_dance_action_t tap_dance_actions[] = { - [QMK_LINKS] = ACTION_TAP_DANCE_FN(qmk_dance), - [EM_DASH] = ACTION_TAP_DANCE_FN(dash_dance), - [CBRKT] = ACTION_TAP_DANCE_FN(curly_bracket_dance), - [BRKT] = ACTION_TAP_DANCE_FN(bracket_dance), - [BSLS_PIPE] = ACTION_TAP_DANCE_FN(bsls_pipe_dance), - [QUOT_DQUO] = ACTION_TAP_DANCE_FN(quot_dquo_dance), - [DEG_0] = ACTION_TAP_DANCE_FN(zero_dance), - [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(media_dance), - [CLIPST_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, clipst_search_dance, td_reset) + [QMK_LINKS] = ACTION_TAP_DANCE_FN(repo_config), + [EM_DASH] = ACTION_TAP_DANCE_FN(em_dash_mins), + [DEG_0] = ACTION_TAP_DANCE_FN(zero_degree), + [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(media_control), + [SPC_QUAD] = ACTION_TAP_DANCE_FN(spc_quadspc), + [SRCH_PST_RSE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rse_pst_srch, td_reset), + [CBRKT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), + [BRKT] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), + [BSLS_PIPE] = ACTION_TAP_DANCE_DOUBLE(KC_BSLS, KC_PIPE), + [QUOT_DQUO] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_DQUO), }; - bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef UNICODE_COMMON_ENABLE process_record_unicode(keycode, record); @@ -177,19 +153,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -bool caps_word_press_user(uint16_t keycode) { - switch (keycode) { - case KC_A ... KC_Z: - case KC_MINS: - add_weak_mods(MOD_BIT(KC_LSFT)); - return true; - case KC_1 ... KC_0: - case KC_BSPC: - case KC_DEL: - case KC_UNDS: - return true; - case KC_LPRN: return false; - default: return false; - } -} diff --git a/waffle/waffle.h b/waffle/waffle.h index 629a87e..d87d730 100644 --- a/waffle/waffle.h +++ b/waffle/waffle.h @@ -25,13 +25,14 @@ enum layers { enum tapdances { QMK_LINKS, EM_DASH, + DEG_0, + PLY_NXT_PRV, + SPC_QUAD, + SRCH_PST_RSE, CBRKT, BRKT, BSLS_PIPE, - QUOT_DQUO, - DEG_0, - PLY_NXT_PRV, - CLIPST_RAISE + QUOT_DQUO }; @@ -69,11 +70,12 @@ enum unicode_mode { #define DEG0 TD(DEG_0) #define LINKS TD(QMK_LINKS) #define PNP TD(PLY_NXT_PRV) -#define PSTRSE TD(CLIPST_RAISE) +#define RSE TD(SRCH_PST_RSE) +#define QSPC TD(SPC_QUAD) #define H_S UC(0x262D) //☭ #define STAR UC(0x2605) //★ #define ESCLWR LT(_LOWER, KC_ESC) -#define LWRSPC LT(_LOWER, KC_SPC) +#define LWRSPC LT(_LOWER, QSPC) #define RSEBSP LT(_RAISE, KC_BSPC) #define HRML(k1,k2,k3,k4) LALT_T(k1),LGUI_T(k2),LCTL_T(k3),LSFT_T(k4) #define HRMR(k1,k2,k3,k4) RSFT_T(k1),RCTL_T(k2),RGUI_T(k3),RALT_T(k4) @@ -81,7 +83,7 @@ enum unicode_mode { #define ___BASE1___ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P #define ___BASE2___ HRML(KC_A, KC_S, KC_D, KC_F), KC_G, KC_H, HRMR(KC_J, KC_K, KC_L, KC_SCLN) #define ___BASE3___ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH -#define ___BASE4___ UPDIR, ESCLWR, KC_SPC, KC_BSPC, PSTRSE, PNP +#define ___BASE4___ UPDIR, ESCLWR, QSPC, KC_BSPC, RSE, PNP #define ___LOWER1___ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, DEG0 #define ___LOWER2___ HRML(KC_EXLM, KC_AT, KC_HASH, KC_DLR), KC_PERC, KC_CIRC, HRMR(KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN) |