|
|
@ -22,6 +22,7 @@ enum { |
|
|
|
|
|
|
|
|
|
|
|
// tap dance
|
|
|
|
// tap dance
|
|
|
|
TD_FLSH, // flash keyboard
|
|
|
|
TD_FLSH, // flash keyboard
|
|
|
|
|
|
|
|
TD_LAYR, // SYSCTL and MOUSE layer switch
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// application selection
|
|
|
|
// application selection
|
|
|
@ -61,9 +62,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
|
|
|
|
|
|
|
|
,TG(BEGIN) ,TG(QWERTY) |
|
|
|
,TG(BEGIN) ,TD(TD_LAYR) |
|
|
|
,TG(CARPALX) |
|
|
|
,TG(MOUSE) |
|
|
|
,KC_BSPC ,KC_LSFT ,TG(SYSCTL) |
|
|
|
,KC_BSPC ,KC_LSFT ,TD(TD_LAYR) |
|
|
|
|
|
|
|
|
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO |
|
|
@ -444,6 +445,31 @@ void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) { |
|
|
|
ergodox_right_led_3_off(); |
|
|
|
ergodox_right_led_3_off(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SYSCTL on first tap, MOUSE ON second tap
|
|
|
|
|
|
|
|
void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) { |
|
|
|
|
|
|
|
uint8_t layer = biton32(layer_state); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch(state->count) { |
|
|
|
|
|
|
|
case 1: |
|
|
|
|
|
|
|
switch(layer) { |
|
|
|
|
|
|
|
case SYSCTL: |
|
|
|
|
|
|
|
layer_off(SYSCTL); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case MOUSE: |
|
|
|
|
|
|
|
layer_off(MOUSE); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
layer_on(SYSCTL); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 2: |
|
|
|
|
|
|
|
layer_on(MOUSE); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
qk_tap_dance_action_t tap_dance_actions[] = { |
|
|
|
qk_tap_dance_action_t tap_dance_actions[] = { |
|
|
|
[TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), |
|
|
|
[TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), |
|
|
|
|
|
|
|
[TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ), |
|
|
|
}; |
|
|
|
}; |
|
|
|