A new test of HRM
This commit is contained in:
		
							parent
							
								
									fa37fd877f
								
							
						
					
					
						commit
						1580cf38f6
					
				
					 3 changed files with 48 additions and 28 deletions
				
			
		
							
								
								
									
										27
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										27
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -11,7 +11,7 @@ First and last column keys on base layers for 6x3 keyboards,
 | 
			
		|||
```
 | 
			
		||||
     ⌥/⌫│                                       │⌥/(X)
 | 
			
		||||
     ───┼─                                     ─┼─────
 | 
			
		||||
     ⌃/⎋│           (...other keys...)          │⌃/(X)
 | 
			
		||||
     Σ/⎋│           (...other keys...)          │Σ/(X)
 | 
			
		||||
     ───┼─                                     ─┼─────
 | 
			
		||||
     ⌘/▤│                                       │⌘/ ↵
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ All base layers share the same thumb cluster:
 | 
			
		|||
      q │ w │ e │ r │ t         z │ u │ i │ o │ p │(ü)
 | 
			
		||||
     ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
      a │ s │ d │ f │ g         h │ j │ k │ l │ ö │(ä)
 | 
			
		||||
     ─Σ─┼───┼───┼───┼───       ───┼───┼───┼───┼─Σ─ ───
 | 
			
		||||
     (Σ)┼─⌥─┼─⌘─┼─⌃─┼───       ───┼─⌃─┼─⌘─┼─⌥─┼(Σ) ───
 | 
			
		||||
      y │ x │ c │ v │ b         n │ m │ , │ . │ ß │
 | 
			
		||||
     ─M─┴───┴───┴───┴───       ───┴───┴───┴───┴─M─
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ All base layers share the same thumb cluster:
 | 
			
		|||
      j │ d │ u │ a │ x         p │ h │ l │ m │ w │(ß)
 | 
			
		||||
     ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
      c │ t │ i │ e │ o         b │ n │ r │ s │ g │(q)
 | 
			
		||||
     ─Σ─┼───┼───┼───┼───       ───┼───┼───┼───┼─Σ─ ───
 | 
			
		||||
     (Σ)┼─⌥─┼─⌘─┼─⌃─┼───       ───┼─⌃─┼─⌘─┼─⌥─┼(Σ) ───
 | 
			
		||||
      f │ v │ ü │ ä │ ö         y │ z │ , │ . │ k │
 | 
			
		||||
     ─M─┴───┴───┴───┴───       ───┴───┴───┴───┴─M─
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ All base layers share the same thumb cluster:
 | 
			
		|||
      q │ w │ f │ p │ b         j │ l │ u │ y │ ö │(ü)
 | 
			
		||||
     ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
      a │ r │ s │ t │ g         m │ n │ e │ i │ o │(ä)
 | 
			
		||||
     ─Σ─┼───┼───┼───┼───       ───┼───┼───┼───┼─Σ─ ───
 | 
			
		||||
     (Σ)┼─⌥─┼─⌘─┼─⌃─┼───       ───┼─⌃─┼─⌘─┼─⌥─┼(Σ) ───
 | 
			
		||||
      z │ x │ c │ d │ v         k │ h │ , │ . │ ß │
 | 
			
		||||
     ─M─┴───┴───┴───┴───       ───┴───┴───┴───┴─M─
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -89,11 +89,11 @@ All base layers share the same thumb cluster:
 | 
			
		|||
## Raise (Navigation and control keys)
 | 
			
		||||
(the home row modifiers on the right are sticky)
 | 
			
		||||
```
 | 
			
		||||
 (⌥)│PUp│BSp│ ↑ │Del│Ins       Prv│Stp│Ply│AGr│Nxt│(⌥)
 | 
			
		||||
 (⌥)│Esc│BSp│ ↑ │Del│PUp       Prv│Stp│Ply│AGr│Nxt│(⌥)
 | 
			
		||||
 ─── ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
 (⌃)│Hme│ ← │ ↓ │ → │End     * Meh│Sft│ ⌃ │ ⌥ │ ⌘ │(⌃)
 | 
			
		||||
 ─── ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
 (⌘)│Esc│Cut│Cpy│Pst│PDn       PSc│CWT│Pse│Ejt│SLk│(⌘)
 | 
			
		||||
 (⌘)│Ins│Cut│Cpy│Pst│PDn       PSc│CWT│Pse│Ejt│SLk│(⌘)
 | 
			
		||||
               ───┌───┬───┐ ┌───┬───┐───
 | 
			
		||||
               Prv│V -│V ×│ │(v)│V +│Nxt
 | 
			
		||||
               ───└─⇧─┴ATT┘ └───┴─⇧─┘───
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ All base layers share the same thumb cluster:
 | 
			
		|||
 | 
			
		||||
## Attic (Adjustments and missing stuff)
 | 
			
		||||
```
 | 
			
		||||
    │QBt│ECl│LAs│LAr│APP        ¡ │ ‹ │ « │ » │ › │(§)
 | 
			
		||||
    │QBt│ECl│LAs│LAr│APP        ¡ │ ‹ │ « │ » │ › │QBt
 | 
			
		||||
 ─── ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
    │LyG│Ly←│Ly→│BsL│MDX        ¿ │ • │ ‚ │ ‘ │ ’ │(…)
 | 
			
		||||
 ─── ───┼───┼───┼───┼───       ───┼───┼───┼───┼─── ───
 | 
			
		||||
| 
						 | 
				
			
			@ -122,4 +122,15 @@ All base layers share the same thumb cluster:
 | 
			
		|||
               ───┌───┬───┐ ┌───┬───┐───
 | 
			
		||||
               LSf│Br-│(v)│ │(v)│Br+│RSf
 | 
			
		||||
               ───└─⇧─┴───┘ └───┴─⇧─┘───
 | 
			
		||||
```
 | 
			
		||||
``
 | 
			
		||||
# Portfolio
 | 
			
		||||
Currently my board contains the following beauties:
 | 
			
		||||
1. Redox (03/2021) (ready assembled)
 | 
			
		||||
1. Kyria rev.2 (05/2021)
 | 
			
		||||
1. dracuLad w/ Pimorini (08/2022)
 | 
			
		||||
1. Iris rev.6 (08/2022)
 | 
			
		||||
1. Paintbrush (10/2022)
 | 
			
		||||
1. [never worked: Aurora sweep (wireless) (03/2023)]
 | 
			
		||||
1. Cantor (11/2023)
 | 
			
		||||
1. Corne (wireless) (01/2025)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,9 +30,10 @@
 | 
			
		|||
#    endif // DYNAMIC_TAPPING_TERM_ENABLE
 | 
			
		||||
#else
 | 
			
		||||
// Tap-hold settings
 | 
			
		||||
#    define TAPPING_TERM 170
 | 
			
		||||
#    define TAP_CODE_DELAY 20
 | 
			
		||||
#    define TAPPING_TERM 300
 | 
			
		||||
#    define QUICK_TAP_TERM 175
 | 
			
		||||
#    define PERMISSIVE_HOLD
 | 
			
		||||
#    define TAP_CODE_DELAY 20
 | 
			
		||||
#    define TAPPING_FORCE_HOLD
 | 
			
		||||
#    define ONESHOT_TAP_TOGGLE 3
 | 
			
		||||
#endif // TAP_DANCE_ENABLED
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -163,17 +163,19 @@ void symL_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
void symR_finished(tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		||||
#endif // TAP_DANCE_ENABLE
 | 
			
		||||
#define HRML(k1, k2, k3) LALT_T(k1), LGUI_T(k2), LCTL_T(k3)
 | 
			
		||||
#define HRMR(k1, k2, k3) LCTL_T(k1), LGUI_T(k2), LALT_T(k3)
 | 
			
		||||
 | 
			
		||||
// /// // /* KEYMAPS */ // /// //
 | 
			
		||||
 | 
			
		||||
/* first and last column base layer keys for 6x3 keyboards */
 | 
			
		||||
// Base layers
 | 
			
		||||
#define _BASE_L_1_ LALT_T(KC_BSPC)
 | 
			
		||||
#define _BASE_L_2_ LCTL_T(KC_ESC)
 | 
			
		||||
#define _BASE_L_2_ SY_L(KC_ESC)
 | 
			
		||||
#define _BASE_L_3_ LGUI_T(KC_APP)
 | 
			
		||||
// R1 and R2 depend on layout
 | 
			
		||||
#define _BASE_R_1_(kc) LALT_T(kc)
 | 
			
		||||
#define _BASE_R_2_(kc) RCTL_T(kc)
 | 
			
		||||
#define _BASE_R_2_(kc) SY_R(kc)
 | 
			
		||||
#define _BASE_R_3_(kc) RGUI_T(kc)
 | 
			
		||||
// Additional layers
 | 
			
		||||
#define _ADD_L_1_ KC_LALT
 | 
			
		||||
| 
						 | 
				
			
			@ -195,18 +197,20 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
 | 
			
		||||
#ifdef QWERTY_ENABLE
 | 
			
		||||
/* QWERTY layout */
 | 
			
		||||
#    define __HRM__QL2_4_ HRML(DE_S, DE_D, DE_F), DE_G
 | 
			
		||||
#    define _HRM_QR2_4_ DE_H, HRMR(DE_J, DE_K, DE_L)
 | 
			
		||||
#    define _QL1_5_ DE_Q, DE_W, DE_E, DE_R, DE_T
 | 
			
		||||
#    define _QL2_5_ SY_L(DE_A), DE_S, DE_D, DE_F, DE_G
 | 
			
		||||
#    define _QL2_5_ SY_L(DE_A), __HRM__QL2_4_
 | 
			
		||||
#    define _QL3_5_ MS(DE_Y), DE_X, DE_C, DE_V, DE_B
 | 
			
		||||
#    define _QR1_5_ DE_Z, DE_U, DE_I, DE_O, DE_P
 | 
			
		||||
#    define _QR2_5_ DE_H, DE_J, DE_K, DE_L, SY_R(DE_ODIA)
 | 
			
		||||
#    define _QR2_5_ _HRM_QR2_4_, SY_R(DE_ODIA)
 | 
			
		||||
#    define _QR3_5_ DE_N, DE_M, DE_COMM, DE_DOT, MS(DE_SS)
 | 
			
		||||
//
 | 
			
		||||
#    define _QL1_6_ _BASE_L_1_, _QL1_5_
 | 
			
		||||
#    define _QL2_6_ _BASE_L_2_, _QL2_5_
 | 
			
		||||
#    define _QL2_6_ _BASE_L_2_, DE_A, __HRM__QL2_4_
 | 
			
		||||
#    define _QL3_6_ _BASE_L_3_, _QL3_5_
 | 
			
		||||
#    define _QR1_6_ _QR1_5_, _BASE_R_1_(DE_UDIA)
 | 
			
		||||
#    define _QR2_6_ _QR2_5_, _BASE_R_2_(DE_ADIA)
 | 
			
		||||
#    define _QR2_6_ _HRM_QR2_4_, DE_ODIA, _BASE_R_2_(DE_ADIA)
 | 
			
		||||
#    define _QR3_6_ _QR3_5_, _BASE_R_3_(KC_ENT)
 | 
			
		||||
//
 | 
			
		||||
#    define _QWERTY_3x5_ _QL1_5_, _QR1_5_, _QL2_5_, _QR2_5_, _QL3_5_, _QR3_5_
 | 
			
		||||
| 
						 | 
				
			
			@ -215,18 +219,20 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
 | 
			
		||||
#ifdef BONE_ENABLE
 | 
			
		||||
/* BONE layout */
 | 
			
		||||
#    define __HRM__BL2_4_ HRML(DE_T, DE_I, DE_E), DE_O
 | 
			
		||||
#    define __HRM__BR2_4_ DE_B, HRMR(DE_N, DE_R, DE_S)
 | 
			
		||||
#    define _BL1_5_ DE_J, DE_D, DE_U, DE_A, DE_X
 | 
			
		||||
#    define _BL2_5_ SY_L(DE_C), DE_T, DE_I, DE_E, DE_O
 | 
			
		||||
#    define _BL2_5_ SY_L(DE_C), __HRM__BL2_4_
 | 
			
		||||
#    define _BL3_5_ MS(DE_F), DE_V, DE_UDIA, DE_ADIA, DE_ODIA
 | 
			
		||||
#    define _BR1_5_ DE_P, DE_H, DE_L, DE_M, DE_W
 | 
			
		||||
#    define _BR2_5_ DE_B, DE_N, DE_R, DE_S, SY_R(DE_G)
 | 
			
		||||
#    define _BR2_5_ __HRM__BR2_4_, SY_R(DE_G)
 | 
			
		||||
#    define _BR3_5_ DE_Y, DE_Z, DE_COMM, DE_DOT, MS(DE_K)
 | 
			
		||||
//
 | 
			
		||||
#    define _BL1_6_ _BASE_L_1_, _BL1_5_
 | 
			
		||||
#    define _BL2_6_ _BASE_L_2_, _BL2_5_
 | 
			
		||||
#    define _BL2_6_ _BASE_L_2_, DE_C, __HRM__BL2_4_
 | 
			
		||||
#    define _BL3_6_ _BASE_L_3_, _BL3_5_
 | 
			
		||||
#    define _BR1_6_ _BR1_5_, _BASE_R_1_(DE_SS)
 | 
			
		||||
#    define _BR2_6_ _BR2_5_, _BASE_R_2_(DE_Q)
 | 
			
		||||
#    define _BR2_6_ __HRM__BR2_4_, DE_G, _BASE_R_2_(DE_Q)
 | 
			
		||||
#    define _BR3_6_ _BR3_5_, _BASE_R_3_(KC_ENT)
 | 
			
		||||
//
 | 
			
		||||
#    define _BONE_3x5_ _BL1_5_, _BR1_5_, _BL2_5_, _BR2_5_, _BL3_5_, _BR3_5_
 | 
			
		||||
| 
						 | 
				
			
			@ -235,18 +241,20 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
 | 
			
		||||
#ifdef COLEMAK_DH_ENABLE
 | 
			
		||||
/* Colemak Mod-DH layout (german adaption) */
 | 
			
		||||
#    define __HRM__CL2_4_ HRML(DE_R, DE_S, DE_T), DE_G
 | 
			
		||||
#    define __HRM__CR2_4_ DE_M, HRMR(DE_N, DE_E, DE_I)
 | 
			
		||||
#    define _CL1_5_ DE_Q, DE_W, DE_F, DE_P, DE_B
 | 
			
		||||
#    define _CL2_5_ SY_L(DE_A), DE_R, DE_S, DE_T, DE_G
 | 
			
		||||
#    define _CL2_5_ SY_L(DE_A), __HRM__CL2_4_
 | 
			
		||||
#    define _CL3_5_ MS(DE_Z), DE_X, DE_C, DE_D, DE_V
 | 
			
		||||
#    define _CR1_5_ DE_J, DE_L, DE_U, DE_Y, DE_ODIA
 | 
			
		||||
#    define _CR2_5_ DE_M, DE_N, DE_E, DE_I, SY_R(DE_O)
 | 
			
		||||
#    define _CR2_5_ __HRM__CR2_4_, SY_R(DE_O)
 | 
			
		||||
#    define _CR3_5_ DE_K, DE_H, DE_COMM, DE_DOT, MS(DE_SS)
 | 
			
		||||
//
 | 
			
		||||
#    define _CL1_6_ _BASE_L_1_, _CL1_5_
 | 
			
		||||
#    define _CL2_6_ _BASE_L_2_, _CL2_5_
 | 
			
		||||
#    define _CL2_6_ _BASE_L_2_, DE_A, __HRM__CL2_4_
 | 
			
		||||
#    define _CL3_6_ _BASE_L_3_, _CL3_5_
 | 
			
		||||
#    define _CR1_6_ _BR1_5_, _BASE_R_1_(DE_SS)
 | 
			
		||||
#    define _CR2_6_ _BR2_5_, _BASE_R_2_(DE_Q)
 | 
			
		||||
#    define _CR2_6_ __HRM__CR2_4_, DE_Q, SY_R(DE_O)
 | 
			
		||||
#    define _CR3_6_ _BR3_5_, _BASE_R_3_(KC_ENT)
 | 
			
		||||
//
 | 
			
		||||
#    define _COLEMAK_DH_3x5_ _CL1_5_, _CR1_5_, _CL2_5_, _CR2_5_, _CL3_5_, _CR3_5_
 | 
			
		||||
| 
						 | 
				
			
			@ -319,8 +327,8 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
#    define _PL1_5_ KC_WH_D, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX
 | 
			
		||||
#    define _PL2_5_ KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5
 | 
			
		||||
#    define _PL3_5_ S_C_TAB, KC_CUT, KC_COPY, KC_PSTE, KC_WH_U
 | 
			
		||||
#    define _PR1_5_ XXXXXXX, XXXXXXX, MS_CSB1, OSM_AGR, XXXXXXX
 | 
			
		||||
#    define _PR2_5_ OSM_MEH, OSM_SFT, OSM_CTL, OSM_ALT, OSM_GUI
 | 
			
		||||
#    define _PR1_5_ XXXXXXX, OSM_SFT, MS_CSB1, OSM_AGR, XXXXXXX
 | 
			
		||||
#    define _PR2_5_ OSM_MEH, OSM_CTL, OSM_GUI, OSM_ALT, XXXXXXX
 | 
			
		||||
#    define _PR3_5_ XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, C___TAB
 | 
			
		||||
//
 | 
			
		||||
#    define _PL1_6_ _ADD_L_1_, _PL1_5_
 | 
			
		||||
| 
						 | 
				
			
			@ -363,9 +371,9 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
 | 
			
		|||
#define _LOWER_3x6_ _LL1_6_, _LR1_6_, _LL2_6_, _LR2_6_, _LL3_6_, _LR3_6_
 | 
			
		||||
 | 
			
		||||
/* Raise: Control + Navigation layer */
 | 
			
		||||
#define _RL1_5_ KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_INS
 | 
			
		||||
#define _RL1_5_ KC_ESC, KC_BSPC, KC_UP, KC_DEL, KC_PGUP
 | 
			
		||||
#define _RL2_5_ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
 | 
			
		||||
#define _RL3_5_ KC_ESC, KC_CUT, KC_COPY, KC_PSTE, KC_PGDN
 | 
			
		||||
#define _RL3_5_ KC_INS, KC_CUT, KC_COPY, KC_PSTE, KC_PGDN
 | 
			
		||||
#define _RR1_5_ KC_MPRV, KC_MSTP, KC_MPLY, OSM_AGR, KC_MNXT
 | 
			
		||||
#define _RR2_5_ OSM_MEH, OSM_SFT, OSM_CTL, OSM_ALT, OSM_GUI
 | 
			
		||||
#define _RR3_5_ KC_PSCR, CW_TOGG, KC_PAUS, KC_EJCT, KC_SCRL
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue