diff options
Diffstat (limited to 'waffle')
-rw-r--r-- | waffle/combos.def | 22 | ||||
-rw-r--r-- | waffle/tapping.c | 59 | ||||
-rw-r--r-- | waffle/waffle.c | 22 | ||||
-rw-r--r-- | waffle/waffle.h | 25 |
4 files changed, 53 insertions, 75 deletions
diff --git a/waffle/combos.def b/waffle/combos.def index 8a7e051..97dab59 100644 --- a/waffle/combos.def +++ b/waffle/combos.def @@ -1,14 +1,14 @@ // Copyright 2022 jack (@waffle87) // SPDX-License-Identifier: GPL-2.0-or-later -// name output keys -CMB(ru_ent, KC_ENT, KC_R, KC_U) -CMB(dk_eql, KC_EQL, LCTL_T(KC_D), RCTL_T(KC_K)) -CMB(gh_quot, TD(QUOT_DQUO), KC_G, KC_H) -CMB(ty_coln, KC_COLN, KC_T, KC_Y) -CMB(bn_unds, KC_UNDS, KC_B, KC_N) -CMB(er_cbkt, TD(CBRKT), KC_E, KC_R) -CMB(ui_brkt, TD(BRKT), KC_U, KC_I) -CMB(ccom_plus, KC_PLUS, KC_C, KC_COMM) -CMB(ei_bsls, TD(BSLS_PIPE), KC_E, KC_I) -CMB(vm_mins, TD(EM_DASH), KC_V, KC_M) +// name output keys +CMB(ru_ent, KC_ENT, KC_R, KC_U) +CMB(dk_eql, KC_EQL, LCTL_T(KC_D), RCTL_T(KC_K)) +CMB(gh_quot, TD(QUOT_DQUO), KC_G, KC_H) +CMB(ty_coln, KC_COLN, KC_T, KC_Y) +CMB(bn_unds, KC_UNDS, KC_B, KC_N) +CMB(er_cbkt, TD(CURLY_BRACKET), KC_E, KC_R) +CMB(ui_brkt, TD(SQR_BRACKET), KC_U, KC_I) +CMB(ccom_plus, KC_PLUS, KC_C, KC_COMM) +CMB(ei_bsls, TD(BSLS_PIPE), KC_E, KC_I) +CMB(vm_mins, TD(EM_DASH_MINS), KC_V, KC_M) diff --git a/waffle/tapping.c b/waffle/tapping.c index ce2bd1b..3bc1bbd 100644 --- a/waffle/tapping.c +++ b/waffle/tapping.c @@ -4,7 +4,7 @@ #include "secrets.h" #ifdef RANDWORD #include "users/ridingqwerty/dict.h" -uint16_t word; +uint16_t word = 0; #endif #define INTERCEPT_MOD_TAP(mod, keycode) \ @@ -19,15 +19,15 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case LWRSPC: case ESCLWR: + case RSEBSP: return TAPPING_TERM - 40; - case LINKS: - case PNP: - case TD(QUOT_DQUO): - case TD(EM_DASH): - case TD(CBRKT): - case TD(BRKT): + case TD(QMK_LINKS): + case TD(EM_DASH_MINS): + case TD(PLY_NXT_PRV): + case TD(CURLY_BRACKET): + case TD(SQR_BRACKET): case TD(BSLS_PIPE): - case TD(SPC_QUAD): + case TD(QUOT_DQUO): return TAPPING_TERM + 60; default: return TAPPING_TERM; @@ -39,7 +39,7 @@ void td_reset(tap_dance_state_t *state, void *user_data) { layer_clear(); } -void repo_config(tap_dance_state_t *state, void *user_data) { +void qmk_links(tap_dance_state_t *state, void *user_data) { if (state->count == 1) { tap_code16(C(KC_T)); send_string(qmkstr); @@ -52,24 +52,15 @@ void repo_config(tap_dance_state_t *state, void *user_data) { } void em_dash_mins(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) + if (state->count < 3) tap_code(KC_MINS); #ifdef UNICODE_COMMON_ENABLE else - register_unicode(0x2014); //— -#endif -} - -void zero_degree(tap_dance_state_t *state, void *user_data) { - if (state->count == 1) - tap_code(KC_0); -#ifdef UNICODE_COMMON_ENABLE - else - register_unicode(0x00B0); //° + register_unicode(0x2014); // — #endif } -void media_control(tap_dance_state_t *state, void *user_data) { +void ply_nxt_prv(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: tap_code(KC_MPLY); @@ -83,32 +74,20 @@ void media_control(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) { +void raise_paste(tap_dance_state_t *state, void *user_data) { if (state->pressed && !state->interrupted) layer_on(_RAISE); else if (state->count == 1) tap_code16(C(S(KC_V))); - else if (state->count == 2) - tap_code16(C(S(KC_F))); } tap_dance_action_t tap_dance_actions[] = { - [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), + [QMK_LINKS] = ACTION_TAP_DANCE_FN(qmk_links), + [EM_DASH_MINS] = ACTION_TAP_DANCE_FN(em_dash_mins), + [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(ply_nxt_prv), + [RAISE_PASTE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, raise_paste, td_reset), + [CURLY_BRACKET] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), + [SQR_BRACKET] = 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), }; diff --git a/waffle/waffle.c b/waffle/waffle.c index dccb7a5..55b9970 100644 --- a/waffle/waffle.c +++ b/waffle/waffle.c @@ -19,7 +19,7 @@ void keylogger_sync(uint8_t initiator2target_buffer_size, const void *initiator2 memcpy(&keylog_str, initiator2target_buffer, initiator2target_buffer_size); } -__attribute__ ((weak)) void housekeeping_task_user(void) { +void housekeeping_task_user(void) { if (is_keyboard_master()) { static uint32_t last_sync; bool needs_sync = false; @@ -35,10 +35,11 @@ __attribute__ ((weak)) void housekeeping_task_user(void) { last_sync = timer_read32(); } } + housekeeping_task_keymap(); } #endif -__attribute__ ((weak)) void keyboard_post_init_user(void) { +void keyboard_post_init_user(void) { #if defined(SPLIT_KEYBOARD) && defined(OLED_ENABLE) transaction_register_rpc(RPC_ID_USER_KEYLOG_STR, keylogger_sync); #endif @@ -62,6 +63,7 @@ __attribute__ ((weak)) void keyboard_post_init_user(void) { if (!autocorrect_is_enabled()) autocorrect_enable(); #endif + keyboard_post_init_keymap(); } #ifdef ENCODER_MAP_ENABLE @@ -76,13 +78,13 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { uint8_t red = 255, green = 0, blue = 0; void trackball_hue(void) { - if (red != 255 && green != 255 && blue != 255) red = 255; - if (red == 255 && green < 255 && blue == 0) green += 15; - else if (green == 255 && blue == 0 && red > 0) red -= 15; - else if (red == 0 && blue < 255 && green == 255 ) blue += 15; - else if (blue == 255 && green > 0 && red == 0) green -= 15; - else if (green == 0 && blue == 255 && red < 255) red += 15; - else if (green == 0 && blue > 0 && red == 255) blue -= 15; + if (red != 255 && green != 255 && blue != 255) red = 255; + if (red == 255 && green < 255 && !blue) green += 15; + else if (green == 255 && !blue && red) red -= 15; + else if (!red && blue < 255 && green == 255) blue += 15; + else if (blue == 255 && green && !red) green -= 15; + else if (!green && blue == 255 && red < 255) red += 15; + else if (!green && blue && red == 255) blue -= 15; pimoroni_trackball_set_rgbw(red, green, blue, 0); } #endif @@ -109,7 +111,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #endif } } - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); + return state; } report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { diff --git a/waffle/waffle.h b/waffle/waffle.h index 7082eea..64527b3 100644 --- a/waffle/waffle.h +++ b/waffle/waffle.h @@ -6,8 +6,11 @@ #include "oled.h" #endif +void housekeeping_task_keymap(void); +void keyboard_post_init_keymap(void); + #ifdef RAW_ENABLE -#pragma message "check other device's vid/pid" +#pragma message "check other device's vid/pid!" typedef struct user_config { uint8_t cpu_temp; uint8_t hour; @@ -24,13 +27,11 @@ enum layers { enum tapdances { QMK_LINKS, - EM_DASH, - DEG_0, + EM_DASH_MINS, PLY_NXT_PRV, - SPC_QUAD, - SRCH_PST_RSE, - CBRKT, - BRKT, + RAISE_PASTE, + CURLY_BRACKET, + SQR_BRACKET, BSLS_PIPE, QUOT_DQUO }; @@ -67,13 +68,9 @@ enum unicode_mode { }; #endif -#define DEG0 TD(DEG_0) #define LINKS TD(QMK_LINKS) #define PNP TD(PLY_NXT_PRV) -#define RSE TD(SRCH_PST_RSE) -#define QSPC TD(SPC_QUAD) -#define H_S UC(0x262D) //☭ -#define STAR UC(0x2605) //★ +#define RSEPST TD(RAISE_PASTE) #define ESCLWR LT(_LOWER, KC_ESC) #define LWRSPC LT(_LOWER, KC_SPC) #define RSEBSP LT(_RAISE, KC_BSPC) @@ -83,9 +80,9 @@ 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, QSPC, KC_BSPC, RSE, PNP +#define ___BASE4___ UPDIR, ESCLWR, KC_SPC, KC_BSPC, RSEPST, PNP -#define ___LOWER1___ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, DEG0 +#define ___LOWER1___ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 #define ___LOWER2___ HRML(KC_EXLM, KC_AT, KC_HASH, KC_DLR), KC_PERC, KC_CIRC, HRMR(KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN) #define ___LOWER3___ KC_VOLD, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU #define ___LOWER4___ _______, _______, _______, _______, _______, _______ |