mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Issue 9942: Add LSA, RSA, RCS, LSA_T, RSA_T, and RCS_T (#9943)
* Issue 9942: Add Quantum defines Add codes to quantum_keycodes for LSA, RSA, RCS, and their corresponding _T macros * 9942: Add documentation for new defines Add documentation for new defines in feature request 9942. Also define SAGR and SAGR_T as aliases for RSA and RSA_T. * Update quantum/quantum_keycodes.h * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md
This commit is contained in:
		
							parent
							
								
									2ddcd81020
								
							
						
					
					
						commit
						b4ae7badd4
					
				@ -382,17 +382,20 @@ See also: [Mouse Keys](feature_mouse_keys.md)
 | 
				
			|||||||
See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
 | 
					See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
|Key       |Aliases                        |Description                                           |
 | 
					|Key       |Aliases                        |Description                                           |
 | 
				
			||||||
|----------|-------------------------------|----------------------------------------------------|
 | 
					|----------|-------------------------------|------------------------------------------------------|
 | 
				
			||||||
|`LCTL(kc)`|`C(kc)`                        |Hold Left Control and press `kc`                      |
 | 
					|`LCTL(kc)`|`C(kc)`                        |Hold Left Control and press `kc`                      |
 | 
				
			||||||
|`LSFT(kc)`|`S(kc)`                        |Hold Left Shift and press `kc`                        |
 | 
					|`LSFT(kc)`|`S(kc)`                        |Hold Left Shift and press `kc`                        |
 | 
				
			||||||
|`LALT(kc)`|`A(kc)`, `LOPT(kc)`            |Hold Left Alt and press `kc`                          |
 | 
					|`LALT(kc)`|`A(kc)`, `LOPT(kc)`            |Hold Left Alt and press `kc`                          |
 | 
				
			||||||
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc`                          |
 | 
					|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc`                          |
 | 
				
			||||||
|`RCTL(kc)`|                               |Hold Right Control and press `kc`                     |
 | 
					|`RCTL(kc)`|                               |Hold Right Control and press `kc`                     |
 | 
				
			||||||
|`RSFT(kc)`|                               |Hold Right Shift and press `kc`                       |
 | 
					|`RSFT(kc)`|                               |Hold Right Shift and press `kc`                       |
 | 
				
			||||||
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)`         |Hold Right Alt and press `kc`                       |
 | 
					|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)`         |Hold Right Alt (AltGr) and press `kc`                 |
 | 
				
			||||||
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`         |Hold Right GUI and press `kc`                         |
 | 
					|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`         |Hold Right GUI and press `kc`                         |
 | 
				
			||||||
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`         |Hold Left Shift and GUI and press `kc`                |
 | 
					|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`         |Hold Left Shift and GUI and press `kc`                |
 | 
				
			||||||
|`LCA(kc)` |                               |Hold Left Control and Alt and press `kc`              |
 | 
					|`LCA(kc)` |                               |Hold Left Control and Alt and press `kc`              |
 | 
				
			||||||
 | 
					|`LSA(kc)` |                               |Hold Left Shift and Left Alt and press `kc`           |
 | 
				
			||||||
 | 
					|`RSA(kc)` |`SAGR(kc)`                     |Hold Right Shift and Right Alt (AltGr) and press `kc` |
 | 
				
			||||||
 | 
					|`RCS(kc)` |                               |Hold Right Control and Right Shift and press `kc`     |
 | 
				
			||||||
|`LCAG(kc)`|                               |Hold Left Control, Alt and GUI and press `kc`         |
 | 
					|`LCAG(kc)`|                               |Hold Left Control, Alt and GUI and press `kc`         |
 | 
				
			||||||
|`MEH(kc)` |                               |Hold Left Control, Shift and Alt and press `kc`       |
 | 
					|`MEH(kc)` |                               |Hold Left Control, Shift and Alt and press `kc`       |
 | 
				
			||||||
|`HYPR(kc)`|                               |Hold Left Control, Shift, Alt and GUI and press `kc`  |
 | 
					|`HYPR(kc)`|                               |Hold Left Control, Shift, Alt and GUI and press `kc`  |
 | 
				
			||||||
@ -404,7 +407,7 @@ See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
 | 
				
			|||||||
See also: [Mod-Tap](mod_tap.md)
 | 
					See also: [Mod-Tap](mod_tap.md)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
|Key          |Aliases                                                          |Description                                                   |
 | 
					|Key          |Aliases                                                          |Description                                                   |
 | 
				
			||||||
|-------------|-----------------------------------------------------------------|-------------------------------------------------------|
 | 
					|-------------|-----------------------------------------------------------------|--------------------------------------------------------------|
 | 
				
			||||||
|`MT(mod, kc)`|                                                                 |`mod` when held, `kc` when tapped                             |
 | 
					|`MT(mod, kc)`|                                                                 |`mod` when held, `kc` when tapped                             |
 | 
				
			||||||
|`LCTL_T(kc)` |`CTL_T(kc)`                                                      |Left Control when held, `kc` when tapped                      |
 | 
					|`LCTL_T(kc)` |`CTL_T(kc)`                                                      |Left Control when held, `kc` when tapped                      |
 | 
				
			||||||
|`LSFT_T(kc)` |`SFT_T(kc)`                                                      |Left Shift when held, `kc` when tapped                        |
 | 
					|`LSFT_T(kc)` |`SFT_T(kc)`                                                      |Left Shift when held, `kc` when tapped                        |
 | 
				
			||||||
@ -412,10 +415,13 @@ See also: [Mod-Tap](mod_tap.md)
 | 
				
			|||||||
|`LGUI_T(kc)` |`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped                          |
 | 
					|`LGUI_T(kc)` |`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped                          |
 | 
				
			||||||
|`RCTL_T(kc)` |                                                                 |Right Control when held, `kc` when tapped                     |
 | 
					|`RCTL_T(kc)` |                                                                 |Right Control when held, `kc` when tapped                     |
 | 
				
			||||||
|`RSFT_T(kc)` |                                                                 |Right Shift when held, `kc` when tapped                       |
 | 
					|`RSFT_T(kc)` |                                                                 |Right Shift when held, `kc` when tapped                       |
 | 
				
			||||||
|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)`                                       |Right Alt when held, `kc` when tapped                  |
 | 
					|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)`                                       |Right Alt (AltGr) when held, `kc` when tapped                 |
 | 
				
			||||||
|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)`                                       |Right GUI when held, `kc` when tapped                         |
 | 
					|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)`                                       |Right GUI when held, `kc` when tapped                         |
 | 
				
			||||||
|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)`                                       |Left Shift and GUI when held, `kc` when tapped                |
 | 
					|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)`                                       |Left Shift and GUI when held, `kc` when tapped                |
 | 
				
			||||||
|`LCA_T(kc)`  |                                                                 |Left Control and Alt when held, `kc` when tapped              |
 | 
					|`LCA_T(kc)`  |                                                                 |Left Control and Alt when held, `kc` when tapped              |
 | 
				
			||||||
 | 
					|`LSA_T(kc)`  |                                                                 |Left Shift and Left Alt when held, `kc` when tapped           |
 | 
				
			||||||
 | 
					|`RSA_T(kc)`  |`SAGR_T(kc)`                                                     |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
 | 
				
			||||||
 | 
					|`RCS_T(kc)`  |                                                                 |Right Control and Right Shift when held, `kc` when tapped     |
 | 
				
			||||||
|`LCAG_T(kc)` |                                                                 |Left Control, Alt and GUI when held, `kc` when tapped         |
 | 
					|`LCAG_T(kc)` |                                                                 |Left Control, Alt and GUI when held, `kc` when tapped         |
 | 
				
			||||||
|`RCAG_T(kc)` |                                                                 |Right Control, Alt and GUI when held, `kc` when tapped        |
 | 
					|`RCAG_T(kc)` |                                                                 |Right Control, Alt and GUI when held, `kc` when tapped        |
 | 
				
			||||||
|`C_S_T(kc)`  |                                                                 |Left Control and Shift when held, `kc` when tapped            |
 | 
					|`C_S_T(kc)`  |                                                                 |Left Control and Shift when held, `kc` when tapped            |
 | 
				
			||||||
 | 
				
			|||||||
@ -540,6 +540,10 @@ enum quantum_keycodes {
 | 
				
			|||||||
#define SCMD(kc) SGUI(kc)
 | 
					#define SCMD(kc) SGUI(kc)
 | 
				
			||||||
#define SWIN(kc) SGUI(kc)
 | 
					#define SWIN(kc) SGUI(kc)
 | 
				
			||||||
#define LCA(kc) (QK_LCTL | QK_LALT | (kc))
 | 
					#define LCA(kc) (QK_LCTL | QK_LALT | (kc))
 | 
				
			||||||
 | 
					#define LSA(kc) (QK_LSFT | QK_LALT | (kc))
 | 
				
			||||||
 | 
					#define RSA(kc) (QK_RSFT | QK_RALT | (kc))
 | 
				
			||||||
 | 
					#define RCS(kc) (QK_RCTL | QK_RSFT | (kc))
 | 
				
			||||||
 | 
					#define SAGR(kc) RSA(kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MOD_HYPR 0xF
 | 
					#define MOD_HYPR 0xF
 | 
				
			||||||
#define MOD_MEH 0x7
 | 
					#define MOD_MEH 0x7
 | 
				
			||||||
@ -763,6 +767,11 @@ enum quantum_keycodes {
 | 
				
			|||||||
#define SCMD_T(kc) SGUI_T(kc)
 | 
					#define SCMD_T(kc) SGUI_T(kc)
 | 
				
			||||||
#define SWIN_T(kc) SGUI_T(kc)
 | 
					#define SWIN_T(kc) SGUI_T(kc)
 | 
				
			||||||
#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc)  // Left Control + Alt
 | 
					#define LCA_T(kc) MT(MOD_LCTL | MOD_LALT, kc)  // Left Control + Alt
 | 
				
			||||||
 | 
					#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)  // Left Shift + Alt
 | 
				
			||||||
 | 
					#define RSA_T(kc) MT(MOD_RSFT | MOD_RALT, kc)  // Right Shift + Alt
 | 
				
			||||||
 | 
					#define RCS_T(kc) MT(MOD_RCTL | MOD_RSFT, kc)  // Right Control + Shift
 | 
				
			||||||
 | 
					#define SAGR_T(kc) RSA_T(kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ALL_T(kc) HYPR_T(kc)
 | 
					#define ALL_T(kc) HYPR_T(kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
 | 
					// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user