aboutsummaryrefslogtreecommitdiff
path: root/waffle
diff options
context:
space:
mode:
Diffstat (limited to 'waffle')
-rw-r--r--waffle/config.h1
-rw-r--r--waffle/tapping.c86
-rw-r--r--waffle/waffle.h16
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)