mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-28 12:10:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| #include "quantum.h"
 | |
| 
 | |
| #include "abstraction.h"
 | |
| 
 | |
| // enum for combos.
 | |
| enum combos {
 | |
|     // left hand combinations.
 | |
|     R_U_PINKY_RING,
 | |
|     R_U_RING_MIDDLE,
 | |
|     R_U_RING_INDEX,
 | |
|     R_U_MIDDLE_INDEX,
 | |
|     R_U_MIDDLE_INNER_INDEX,
 | |
|     R_U_INDEX_INNER_INDEX,
 | |
|     R_L_PINKY_RING,
 | |
|     R_L_RING_MIDDLE,
 | |
|     R_L_RING_INDEX,
 | |
|     R_L_MIDDLE_INDEX,
 | |
|     R_L_INDEX_INNER_INDEX,
 | |
| 
 | |
|     // right hand combinations.
 | |
|     L_U_PINKY_RING,
 | |
|     L_U_RING_MIDDLE,
 | |
|     L_U_RING_INDEX,
 | |
|     L_U_MIDDLE_INDEX,
 | |
|     L_U_MIDDLE_INNER_INDEX,
 | |
|     L_U_INNER_INNER_INDEX,
 | |
|     L_L_PINKY_RING,
 | |
|     L_L_RING_MIDDLE,
 | |
|     L_L_MIDDLE_INDEX,
 | |
|     L_L_RING_INDEX,
 | |
|     L_L_INDEX_INNER_INDEX,
 | |
| 
 | |
|     // both hands combinations.
 | |
|     B_L_MIDDLE_MIDDLE,
 | |
| };
 | |
| 
 | |
| // left hand combinations.
 | |
| const uint16_t PROGMEM lu_p_r_combo[]     = {LUP, LUR,  COMBO_END};
 | |
| const uint16_t PROGMEM lu_r_m_combo[]     = {LUR, LUM,  COMBO_END};
 | |
| const uint16_t PROGMEM lu_r_i_combo[]     = {LUR, LUI,  COMBO_END};
 | |
| const uint16_t PROGMEM lu_m_i_combo[]     = {LUM, LUI,  COMBO_END};
 | |
| const uint16_t PROGMEM lu_m_ii_combo[]    = {LUM, LUII, COMBO_END};
 | |
| const uint16_t PROGMEM lu_i_ii_combo[]    = {LUI, LUII, COMBO_END};
 | |
| const uint16_t PROGMEM ll_p_r_combo[]     = {LLP, LLR,  COMBO_END};
 | |
| const uint16_t PROGMEM ll_r_m_combo[]     = {LLR, LLM,  COMBO_END};
 | |
| const uint16_t PROGMEM ll_r_i_combo[]     = {LLR, LLI,  COMBO_END};
 | |
| const uint16_t PROGMEM ll_m_i_combo[]     = {LLM, LLI,  COMBO_END};
 | |
| const uint16_t PROGMEM ll_i_ii_combo[]    = {LLI, LLII, COMBO_END};
 | |
| 
 | |
| // right hand combinations.
 | |
| const uint16_t PROGMEM ru_p_r_combo[]      = {RUP, RUR, COMBO_END};
 | |
| const uint16_t PROGMEM ru_r_m_combo[]      = {RUR, RUM, COMBO_END};
 | |
| const uint16_t PROGMEM ru_r_i_combo[]      = {RUR, RUI, COMBO_END};
 | |
| const uint16_t PROGMEM ru_m_i_combo[]      = {RUM, RUI, COMBO_END};
 | |
| const uint16_t PROGMEM ru_m_ii_combo[]     = {RUM, RUII, COMBO_END};
 | |
| const uint16_t PROGMEM ru_i_ii_combo[]     = {RUI, RUII, COMBO_END};
 | |
| const uint16_t PROGMEM rl_p_r_combo[]      = {RLP, RLR, COMBO_END};
 | |
| const uint16_t PROGMEM rl_r_m_combo[]      = {RLR, RLM, COMBO_END};
 | |
| const uint16_t PROGMEM rl_r_i_combo[]      = {RLR, RLI, COMBO_END};
 | |
| const uint16_t PROGMEM rl_m_i_combo[]      = {RLM, RLI, COMBO_END};
 | |
| const uint16_t PROGMEM rl_i_ii_combo[]     = {RLI, RLII, COMBO_END};
 | |
| 
 | |
| // both hand combinations.
 | |
| const uint16_t PROGMEM bl_m_m_combo[]      = {LLM, RLM, COMBO_END};
 | |
| 
 | |
| combo_t key_combos[COMBO_COUNT] = {
 | |
|     // left hand combinations.
 | |
|     [R_U_PINKY_RING]          = COMBO(lu_p_r_combo,  KC_TAB),
 | |
|     [R_U_RING_MIDDLE]         = COMBO(lu_r_m_combo,  KC_QUES),
 | |
|     [R_U_RING_INDEX]          = COMBO(lu_r_i_combo,  PRVTAB),
 | |
|     [R_U_MIDDLE_INDEX]        = COMBO(lu_m_i_combo,  KC_UNDS),
 | |
|     [R_U_MIDDLE_INNER_INDEX]  = COMBO(lu_m_ii_combo, KC_ENT),
 | |
|     [R_U_INDEX_INNER_INDEX]   = COMBO(lu_i_ii_combo, KC_PIPE),
 | |
|     [R_L_PINKY_RING]          = COMBO(ll_p_r_combo,  KC_ENT),
 | |
|     [R_L_RING_MIDDLE]         = COMBO(ll_r_m_combo,  LCTL(KC_W)),
 | |
|     [R_L_RING_INDEX]          = COMBO(ll_r_i_combo,  KC_TAB),
 | |
|     [R_L_MIDDLE_INDEX]        = COMBO(ll_m_i_combo,  KC_DELT),
 | |
|     [R_L_INDEX_INNER_INDEX]   = COMBO(ll_i_ii_combo, KC_TILD),
 | |
| 
 | |
|     // right hand combinations.
 | |
|     [L_U_PINKY_RING]          = COMBO(ru_p_r_combo,  KC_BSPC),
 | |
|     [L_U_RING_MIDDLE]         = COMBO(ru_r_m_combo,  KC_SLSH),
 | |
|     [L_U_RING_INDEX]          = COMBO(ru_r_i_combo,  NXTTAB),
 | |
|     [L_U_MIDDLE_INDEX]        = COMBO(ru_m_i_combo,  KC_MINS),
 | |
|     [L_U_MIDDLE_INNER_INDEX]  = COMBO(ru_m_ii_combo, KC_ENT),
 | |
|     [L_U_INNER_INNER_INDEX]   = COMBO(ru_i_ii_combo, KC_BSLS),
 | |
|     [L_L_PINKY_RING]          = COMBO(rl_p_r_combo,  KC_BSLS),
 | |
|     [L_L_RING_MIDDLE]         = COMBO(rl_r_m_combo,  KC_APP),
 | |
|     [L_L_RING_INDEX]          = COMBO(rl_r_i_combo,  LSFT(KC_TAB)),
 | |
|     [L_L_MIDDLE_INDEX]        = COMBO(rl_m_i_combo,  KC_DELT),
 | |
|     [L_L_INDEX_INNER_INDEX]   = COMBO(rl_i_ii_combo, KC_GRV),
 | |
| 
 | |
|     // both hand combinations.
 | |
|     [B_L_MIDDLE_MIDDLE]       = COMBO(bl_m_m_combo,  KC_ENT),
 | |
| }; | 
