Merge pull request #1046 from LukeSilva/master
Add Tapping Macros to QMK
This commit is contained in:
		
						commit
						3c7fa0acc1
					
				
					 7 changed files with 419 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -80,7 +80,10 @@ action_t action_for_key(uint8_t layer, keypos_t key)
 | 
			
		|||
            action.code = keymap_function_id_to_action( (int)keycode & 0xFFF );
 | 
			
		||||
            break;
 | 
			
		||||
        case QK_MACRO ... QK_MACRO_MAX:
 | 
			
		||||
            action.code = ACTION_MACRO(keycode & 0xFF);
 | 
			
		||||
            if (keycode & 0x800) // tap macros have upper bit set
 | 
			
		||||
                action.code = ACTION_MACRO_TAP(keycode & 0xFF);
 | 
			
		||||
            else
 | 
			
		||||
                action.code = ACTION_MACRO(keycode & 0xFF);
 | 
			
		||||
            break;
 | 
			
		||||
        case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
 | 
			
		||||
            action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -256,8 +256,10 @@ enum quantum_keycodes {
 | 
			
		|||
 | 
			
		||||
#define M(kc) (kc | QK_MACRO)
 | 
			
		||||
 | 
			
		||||
#define MACROTAP(kc) (kc | QK_MACRO | FUNC_TAP<<8)
 | 
			
		||||
#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// L-ayer, T-ap - 256 keycode max, 16 layer max
 | 
			
		||||
#define LT(layer, kc) (kc | QK_LAYER_TAP | ((layer & 0xF) << 8))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue