On-each-release tap dance function (#20255)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
This commit is contained in:
		
							parent
							
								
									821db155f2
								
							
						
					
					
						commit
						2c70d38910
					
				
					 6 changed files with 159 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -187,13 +187,35 @@ void x_reset(tap_dance_state_t *state, void *user_data) {
 | 
			
		|||
    xtap_state.state = TD_NONE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void release_press(tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    tap_code16(KC_P);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void release_unpress(tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    tap_code16(KC_U);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void release_unpress_mark_finished(tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    tap_code16(KC_U);
 | 
			
		||||
    state->finished = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void release_finished(tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    tap_code16(KC_F);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void release_reset(tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    tap_code16(KC_R);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tap_dance_action_t tap_dance_actions[] = {
 | 
			
		||||
    [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
 | 
			
		||||
    [CT_EGG]      = ACTION_TAP_DANCE_FN(dance_egg),
 | 
			
		||||
    [CT_FLSH]     = ACTION_TAP_DANCE_FN_ADVANCED(dance_flsh_each, dance_flsh_finished, dance_flsh_reset),
 | 
			
		||||
    [CT_CLN]      = ACTION_TAP_DANCE_TAP_HOLD(KC_COLN, KC_SCLN),
 | 
			
		||||
    [X_CTL]       = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset)
 | 
			
		||||
    [X_CTL]       = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset),
 | 
			
		||||
    [TD_RELEASE]  = ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(release_press, release_unpress, release_finished, release_reset),
 | 
			
		||||
    [TD_RELEASE_AND_FINISH]  = ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(release_press, release_unpress_mark_finished, release_finished, release_reset),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// clang-format on
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue