Leader key implementation (#326)
* implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * updates process_action functions to return bool
This commit is contained in:
		
							parent
							
								
									79d26f331a
								
							
						
					
					
						commit
						1a8c0dd22d
					
				
					 20 changed files with 290 additions and 64 deletions
				
			
		| 
						 | 
				
			
			@ -70,7 +70,9 @@ void process_action_nocache(keyrecord_t *record)
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
void process_action_kb(keyrecord_t *record) {}
 | 
			
		||||
bool process_action_quantum(keyrecord_t *record) {
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void process_action(keyrecord_t *record)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +91,8 @@ void process_action(keyrecord_t *record)
 | 
			
		|||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    process_action_kb(record);
 | 
			
		||||
    if (!process_action_quantum(record))
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    action_t action = store_or_get_action(event.pressed, event.key);
 | 
			
		||||
    dprint("ACTION: "); debug_action(action);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
			
		|||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
			
		||||
 | 
			
		||||
/* keyboard-specific key event (pre)processing */
 | 
			
		||||
void process_action_kb(keyrecord_t *record);
 | 
			
		||||
bool process_action_quantum(keyrecord_t *record);
 | 
			
		||||
 | 
			
		||||
/* Utilities for actions.  */
 | 
			
		||||
#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,8 +64,8 @@ void matrix_power_up(void);
 | 
			
		|||
void matrix_power_down(void);
 | 
			
		||||
 | 
			
		||||
/* keyboard-specific setup/loop functionality */
 | 
			
		||||
void matrix_init_kb(void);
 | 
			
		||||
void matrix_scan_kb(void);
 | 
			
		||||
void matrix_init_quantum(void);
 | 
			
		||||
void matrix_scan_quantum(void);
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue