Add ability to toggle One Shot functionality (#4198)
Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									86f6f68274
								
							
						
					
					
						commit
						0e984b6e7e
					
				
					 7 changed files with 81 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -37,6 +37,7 @@ typedef union {
 | 
			
		|||
        bool nkro : 1;
 | 
			
		||||
        bool swap_lctl_lgui : 1;
 | 
			
		||||
        bool swap_rctl_rgui : 1;
 | 
			
		||||
        bool oneshot_disable : 1;
 | 
			
		||||
    };
 | 
			
		||||
} keymap_config_t;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -318,6 +318,17 @@ bool process_record_quantum(keyrecord_t *record) {
 | 
			
		|||
            case OUT_BT:
 | 
			
		||||
                set_output(OUTPUT_BLUETOOTH);
 | 
			
		||||
                return false;
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef NO_ACTION_ONESHOT
 | 
			
		||||
            case ONESHOT_TOGGLE:
 | 
			
		||||
                oneshot_toggle();
 | 
			
		||||
                break;
 | 
			
		||||
            case ONESHOT_ENABLE:
 | 
			
		||||
                oneshot_enable();
 | 
			
		||||
                break;
 | 
			
		||||
            case ONESHOT_DISABLE:
 | 
			
		||||
                oneshot_disable();
 | 
			
		||||
                break;
 | 
			
		||||
#endif
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -578,6 +578,10 @@ enum quantum_keycodes {
 | 
			
		|||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    ONESHOT_ENABLE,
 | 
			
		||||
    ONESHOT_DISABLE,
 | 
			
		||||
    ONESHOT_TOGGLE,
 | 
			
		||||
 | 
			
		||||
    // always leave at the end
 | 
			
		||||
    SAFE_RANGE
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -885,3 +889,8 @@ enum quantum_keycodes {
 | 
			
		|||
#define DM_RSTP DYN_REC_STOP
 | 
			
		||||
#define DM_PLY1 DYN_MACRO_PLAY1
 | 
			
		||||
#define DM_PLY2 DYN_MACRO_PLAY2
 | 
			
		||||
 | 
			
		||||
// One Shot toggle
 | 
			
		||||
#define OS_TOGG ONESHOT_TOGGLE
 | 
			
		||||
#define OS_ON   ONESHOT_ENABLE
 | 
			
		||||
#define OS_OFF  ONESHOT_DISABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue