diff options
Diffstat (limited to 'keyboards/planck/keymaps/dshields/keymap.c')
| -rw-r--r-- | keyboards/planck/keymaps/dshields/keymap.c | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/keyboards/planck/keymaps/dshields/keymap.c b/keyboards/planck/keymaps/dshields/keymap.c index a13c261ed..a99777917 100644 --- a/keyboards/planck/keymaps/dshields/keymap.c +++ b/keyboards/planck/keymaps/dshields/keymap.c | |||
| @@ -6,7 +6,6 @@ extern keymap_config_t keymap_config; | |||
| 6 | 6 | ||
| 7 | enum planck_layers { DEF, LWR, RSE, FUN }; | 7 | enum planck_layers { DEF, LWR, RSE, FUN }; |
| 8 | enum planck_keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE }; | 8 | enum planck_keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE }; |
| 9 | enum tap_dance_keys { TDK_SCLN, TDK_COMM, TDK_DOT, TDK_SLSH }; | ||
| 10 | 9 | ||
| 11 | #include "dynamic_macro.h" | 10 | #include "dynamic_macro.h" |
| 12 | 11 | ||
| @@ -24,9 +23,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 24 | */ | 23 | */ |
| 25 | [DEF] = { | 24 | [DEF] = { |
| 26 | {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P }, | 25 | {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P }, |
| 27 | {KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, KC_ENT, KC_H, KC_J, KC_K, KC_L, TD_SCLN}, | 26 | {KC_A, KC_S, KC_D, KC_F, KC_G, KC_TAB, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, |
| 28 | {KC_Z, KC_X, KC_C, KC_V, KC_B, OSM_SFT, DM_PLAY, KC_N, KC_M, TD_COMM, TD_DOT, TD_SLSH}, | 27 | {KC_Z, KC_X, KC_C, KC_V, KC_B, OSM_SFT, DM_PLAY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH}, |
| 29 | {OSM_CTL, KC_LGUI, OSM_ALT, OSL_FUN, OSL_LWR, KC_SPC, KC_SPC, OSL_RSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} | 28 | {OSM_CTL, KC_LGUI, OSM_ALT, OSL_FUN, OSL_LWR, MT_SPC, MT_SPC, OSL_RSE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} |
| 30 | }, | 29 | }, |
| 31 | /* Lower | 30 | /* Lower |
| 32 | * ,-----------------------------------------------------------------------------------. | 31 | * ,-----------------------------------------------------------------------------------. |
| @@ -81,33 +80,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 81 | }, | 80 | }, |
| 82 | }; | 81 | }; |
| 83 | 82 | ||
| 84 | void tap_dance_triple(qk_tap_dance_state_t *state, void *user_data) { | ||
| 85 | qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data; | ||
| 86 | uint16_t keycode = pair->kc1; | ||
| 87 | |||
| 88 | switch(state->count) { | ||
| 89 | case 2: | ||
| 90 | register_code(KC_LSFT); | ||
| 91 | TAP(keycode); | ||
| 92 | unregister_code(KC_LSFT); | ||
| 93 | break; | ||
| 94 | case 3: // fall through | ||
| 95 | if (pair->kc2) { | ||
| 96 | keycode = pair->kc2; | ||
| 97 | } | ||
| 98 | TAP(keycode); | ||
| 99 | default: | ||
| 100 | TAP(keycode); | ||
| 101 | } | ||
| 102 | } | ||
| 103 | |||
| 104 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 105 | [TDK_SCLN] = ACTION_TAP_DANCE_FN_KEYCODE2(tap_dance_triple, KC_SCLN, KC_COLN), | ||
| 106 | [TDK_COMM] = ACTION_TAP_DANCE_FN_KEYCODE2(tap_dance_triple, KC_COMM, KC_LABK), | ||
| 107 | [TDK_DOT] = ACTION_TAP_DANCE_FN_KEYCODE (tap_dance_triple, KC_DOT), | ||
| 108 | [TDK_SLSH] = ACTION_TAP_DANCE_FN_KEYCODE (tap_dance_triple, KC_SLSH) | ||
| 109 | }; | ||
| 110 | |||
| 111 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 83 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 112 | if (!process_record_dynamic_macro(keycode, record)) { | 84 | if (!process_record_dynamic_macro(keycode, record)) { |
| 113 | return false; | 85 | return false; |
