summaryrefslogtreecommitdiff
path: root/users/edvorakjp/edvorakjp_tap_dance.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/edvorakjp/edvorakjp_tap_dance.c')
-rw-r--r--users/edvorakjp/edvorakjp_tap_dance.c90
1 files changed, 43 insertions, 47 deletions
diff --git a/users/edvorakjp/edvorakjp_tap_dance.c b/users/edvorakjp/edvorakjp_tap_dance.c
index d5369f9266..cee10de693 100644
--- a/users/edvorakjp/edvorakjp_tap_dance.c
+++ b/users/edvorakjp/edvorakjp_tap_dance.c
@@ -2,72 +2,68 @@
#include "process_keycode/process_tap_dance.h"
enum tap_state {
- NONE = 0,
- SINGLE_TAP = 1,
- DOUBLE_TAP = 2,
- HOLD
+ NONE = 0,
+ SINGLE_TAP = 1,
+ DOUBLE_TAP = 2,
+ HOLD,
};
typedef struct {
- uint8_t lower;
- uint8_t raise;
+ uint8_t lower;
+ uint8_t raise;
} td_status_t;
static td_status_t td_status = {NONE, NONE};
-int cur_dance(qk_tap_dance_state_t *state) {
- if (state->interrupted || !state->pressed) {
- return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP;
- } else {
- return HOLD;
- }
+uint8_t cur_dance(qk_tap_dance_state_t *state) {
+ if (state->interrupted || !state->pressed) {
+ return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP;
+ } else {
+ return HOLD;
+ }
}
void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
- td_status.lower = cur_dance(state);
- switch(td_status.lower) {
- case SINGLE_TAP:
- set_japanese_mode(false);
- break;
- case DOUBLE_TAP:
- set_japanese_mode(false);
- register_code(KC_ESC);
- break;
- case HOLD:
- break;
- }
- layer_on(_LOWER);
+ td_status.lower = cur_dance(state);
+ switch (td_status.lower) {
+ case SINGLE_TAP:
+ set_japanese_mode(false);
+ break;
+ case DOUBLE_TAP:
+ set_japanese_mode(false);
+ register_code(KC_ESC);
+ break;
+ }
+ layer_on(L_EDVORAKJP_LOWER);
}
void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) {
- if (td_status.lower == DOUBLE_TAP) {
- unregister_code(KC_ESC);
- }
- layer_off(_LOWER);
- td_status.lower = NONE;
+ switch (td_status.lower) {
+ case DOUBLE_TAP:
+ unregister_code(KC_ESC);
+ break;
+ }
+ layer_off(L_EDVORAKJP_LOWER);
+ td_status.lower = NONE;
}
void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
- td_status.raise = cur_dance(state);
- switch(td_status.raise) {
- case DOUBLE_TAP:
- // same as single
- case SINGLE_TAP:
- set_japanese_mode(true);
- break;
- case HOLD:
- break;
- }
- layer_on(_RAISE);
+ td_status.raise = cur_dance(state);
+ switch (td_status.raise) {
+ case DOUBLE_TAP:
+ // same as single
+ case SINGLE_TAP:
+ set_japanese_mode(true);
+ break;
+ }
+ layer_on(L_EDVORAKJP_RAISE);
}
void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) {
- layer_off(_RAISE);
- td_status.raise = NONE;
+ layer_off(L_EDVORAKJP_RAISE);
+ td_status.raise = NONE;
}
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_LOWER] =
- ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 100),
- [TD_RAISE] =
- ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 100)
+ [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 150),
+ [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 150),
};