Implement tap mod dual role for right side mods.
This commit is contained in:
		
							parent
							
								
									0a9fda968d
								
							
						
					
					
						commit
						97816df7e7
					
				
					 3 changed files with 23 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -39,14 +39,14 @@ enum quantum_keycodes {
 | 
			
		|||
    QK_CHORDING           = 0x5600,
 | 
			
		||||
    QK_CHORDING_MAX       = 0x56FF,
 | 
			
		||||
#endif
 | 
			
		||||
    QK_MOD_TAP            = 0x6000,
 | 
			
		||||
    QK_MOD_TAP_MAX        = 0x6FFF,
 | 
			
		||||
    QK_TAP_DANCE          = 0x7100,
 | 
			
		||||
    QK_TAP_DANCE_MAX      = 0x71FF,
 | 
			
		||||
    QK_TAP_DANCE          = 0x5700,
 | 
			
		||||
    QK_TAP_DANCE_MAX      = 0x57FF,
 | 
			
		||||
#ifdef UNICODEMAP_ENABLE
 | 
			
		||||
    QK_UNICODE_MAP        = 0x7800,
 | 
			
		||||
    QK_UNICODE_MAP_MAX    = 0x7FFF,
 | 
			
		||||
    QK_UNICODE_MAP        = 0x5800,
 | 
			
		||||
    QK_UNICODE_MAP_MAX    = 0x5FFF,
 | 
			
		||||
#endif
 | 
			
		||||
    QK_MOD_TAP            = 0x6000,
 | 
			
		||||
    QK_MOD_TAP_MAX        = 0x7FFF,
 | 
			
		||||
#ifdef UNICODE_ENABLE
 | 
			
		||||
    QK_UNICODE            = 0x8000,
 | 
			
		||||
    QK_UNICODE_MAX        = 0xFFFF,
 | 
			
		||||
| 
						 | 
				
			
			@ -298,15 +298,29 @@ enum quantum_keycodes {
 | 
			
		|||
#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
 | 
			
		||||
 | 
			
		||||
// M-od, T-ap - 256 keycode max
 | 
			
		||||
#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))
 | 
			
		||||
#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0x1F) << 8))
 | 
			
		||||
 | 
			
		||||
#define CTL_T(kc) MT(MOD_LCTL, kc)
 | 
			
		||||
#define LCTL_T(kc) MT(MOD_LCTL, kc)
 | 
			
		||||
#define RCTL_T(kc) MT(MOD_RCTL, kc)
 | 
			
		||||
 | 
			
		||||
#define SFT_T(kc) MT(MOD_LSFT, kc)
 | 
			
		||||
#define LSFT_T(kc) MT(MOD_LSFT, kc)
 | 
			
		||||
#define RSFT_T(kc) MT(MOD_RSFT, kc)
 | 
			
		||||
 | 
			
		||||
#define ALT_T(kc) MT(MOD_LALT, kc)
 | 
			
		||||
#define LALT_T(kc) MT(MOD_LALT, kc)
 | 
			
		||||
#define RALT_T(kc) MT(MOD_RALT, kc)
 | 
			
		||||
#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
 | 
			
		||||
 | 
			
		||||
#define GUI_T(kc) MT(MOD_LGUI, kc)
 | 
			
		||||
#define LGUI_T(kc) MT(MOD_LGUI, kc)
 | 
			
		||||
#define RGUI_T(kc) MT(MOD_RGUI, kc)
 | 
			
		||||
 | 
			
		||||
#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
 | 
			
		||||
#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
 | 
			
		||||
#define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc) // Left control alt and gui
 | 
			
		||||
#define RCAG_T(kc) MT((MOD_RCTL | MOD_RALT | MOD_RGUI), kc) // Right control alt and gui
 | 
			
		||||
#define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
 | 
			
		||||
#define SCMD_T(kc) MT((MOD_LGUI | MOD_LSFT), kc)
 | 
			
		||||
#define SWIN_T(kc) SCMD_T(kc)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue