aboutsummaryrefslogtreecommitdiff
path: root/waffle
diff options
context:
space:
mode:
Diffstat (limited to 'waffle')
-rw-r--r--waffle/combos.def22
-rw-r--r--waffle/tapping.c59
-rw-r--r--waffle/waffle.c22
-rw-r--r--waffle/waffle.h25
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___ _______, _______, _______, _______, _______, _______