Better HRM

This commit is contained in:
struckmb 2025-08-24 21:42:04 +02:00
commit 5b14354060
2 changed files with 35 additions and 33 deletions

View file

@ -2,7 +2,7 @@
#define QWERTY_ENABLE
#define BONE_ENABLE
#define NOTED_ENABLE
// #define COLEMAK_DH_ENABLE
#define COLEMAK_DH_ENABLE
/* Charybdis-specific features. */

View file

@ -53,7 +53,7 @@ enum userspace_layers {
LAYER_X
};
// Custom macro keycode ranges
// Custom mancro keycode ranges
enum userspace_custom_keycodes {
// Safe stuff
BS_SAFE = SAFE_RANGE,
@ -174,8 +174,10 @@ void symL_reset(tap_dance_state_t *state, void *user_data);
void symR_finished(tap_da1ce_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, k4) LGUI_T(k1), LSFT_T(k2), LCTL_T(k3), LALT_T(k4)
#define HRMR(k1, k2, k3, k4) LALT_T(k1), RCTL_T(k2), RSFT_T(k3), RGUI_T(k4)
#define HRML5(k1, k2, k3, k4) LGUI_T(k1), LSFT_T(k2), LCTL_T(k3), LALT_T(k4)
#define HRMR5(k1, k2, k3, k4) LALT_T(k1), RCTL_T(k2), RSFT_T(k3), RGUI_T(k4)
#define HRML(k1, k2, k3, k4) LGUI_T(k1), LALT_T(k2), LSFT_T(k3), LCTL_T(k4)
#define HRMR(k1, k2, k3, k4) RCTL_T(k1), RSFT_T(k2), LALT_T(k3), RGUI_T(k4)
// /// // /* KEYMAPS */ // /// //
@ -212,46 +214,46 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
# define __QL1_4_ DE_W, DE_E, DE_R, DE_T
# define __QR1_4_ DE_Z, DE_U, DE_I, DE_O
# define __QR1_1_ DE_P
# define __QL2_1_ DE_A
# define __HRM__QL2_4_ HRML(DE_S, DE_D, DE_F, DE_G)
# define _HRM_QR2_4_ HRMR(DE_H, DE_J, DE_K, DE_L)
# define __QR2_1_ DE_ODIA
# define __QL2_4_ HRML(DE_A, DE_S, DE_D, DE_F)
# define __QL2_1_ DE_G
# define __QR2_1_ DE_H
# define __QR2_4_ HRMR(DE_J, DE_K, DE_L, DE_ODIA)
# define _QL1_5_ LX(__QL1_1_), __QL1_4_
# define _QL2_5_ SY_L(__QL2_1_), __HRM__QL2_4_
# define _QL2_5_ __QL2_4_, SY_L(__QL2_1_)
# define _QL3_5_ MS(DE_Y), DE_X, DE_C, DE_V, DE_B
# define _QR1_5_ __QR1_4_, __QR1_1_
# define _QR2_5_ _HRM_QR2_4_, SY_R(__QR2_1_)
# define _QR2_5_ SY_R(__QR2_1_), __QR2_4_
# define _QR3_5_ DE_N, DE_M, DE_COMM, DE_DOT, MS(DE_SS)
//
# define _QL1_6_ _BASE_L_1_, __QL1_1_, __QL1_4_
# define _QL2_6_ _BASE_L_2_, __QL2_1_, __HRM__QL2_4_
# define _QL2_6_ _BASE_L_2_, __QL2_4_, __QL2_1_
# define _QL3_6_ _BASE_L_3_, _QL3_5_
# define _QR1_6_ _QR1_5_, _BASE_R_1_(DE_UDIA)
# define _QR2_6_ _HRM_QR2_4_, __QR2_1_, _BASE_R_2_(DE_ADIA)
# define _QR2_6_ __QR2_1_, __QR2_4_, _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_
# define _QWERTY_3x6_ _QL1_6_, _QR1_6_, _QL2_6_, _QR2_6_, _QL3_6_, _QR3_6_
# define _QWERTY_L_X_ _QL1_5_, __QR1_4_, DE_UDIA, _QL2_5_, _HRM_QR2_4_, DE_ADIA, _QL3_5_, _QR3_5_
# define _QWERTY_L_X_ _QL1_5_, DE_Z, DE_UDIA, DE_I, DE_O, DE_P, _QL2_5_, __QR2_4_, DE_ADIA, _QL3_5_, _QR3_5_
#endif // QWERTY_ENABLE
#ifdef BONE_ENABLE
/* BONE layout */
# define __HRM__BL2_4_ HRML(DE_T, DE_I, DE_E, DE_O)
# define __HRM__BR2_4_ HRMR(DE_B, DE_N, DE_R, DE_S)
# define __HRM__BL2_4_ HRML(DE_C, DE_T, DE_I, DE_E)
# define __HRM__BR2_4_ HRMR(DE_N, DE_R, DE_S, DE_G)
# define _BL1_5_ DE_J, DE_D, DE_U, DE_A, DE_X
# define _BL2_5_ SY_L(DE_C), __HRM__BL2_4_
# define _BL2_5_ __HRM__BL2_4_, SY_L(DE_O)
# 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_ __HRM__BR2_4_, SY_R(DE_G)
# define _BR2_5_ SY_R(DE_B), __HRM__BR2_4_
# 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_, DE_C, __HRM__BL2_4_
# define _BL2_6_ _BASE_L_2_, __HRM__BL2_4_, DE_O
# define _BL3_6_ _BASE_L_3_, _BL3_5_
# define _BR1_6_ _BR1_5_, _BASE_R_1_(DE_SS)
# define _BR2_6_ __HRM__BR2_4_, DE_G, _BASE_R_2_(DE_Q)
# define _BR2_6_ DE_B, __HRM__BR2_4_, _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_
@ -260,20 +262,20 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
#ifdef NOTED_ENABLE
/* NOTED layout */
# define __HRM__NL2_4_ HRML(DE_S, DE_I, DE_E, DE_O)
# define __HRM__NR2_4_ HRMR(DE_D, DE_T, DE_N, DE_R)
# define __HRM__NL2_4_ HRML(DE_C, DE_S, DE_I, DE_E)
# define __HRM__NR2_4_ HRMR(DE_T, DE_N, DE_R, DE_H)
# define _NL1_5_ DE_Z, DE_Y, DE_U, DE_A, DE_Q
# define _NL2_5_ SY_L(DE_C), __HRM__NL2_4_
# define _NL2_5_ __HRM__NL2_4_, SY_L(DE_O)
# define _NL3_5_ MS(DE_V), DE_X, DE_UDIA, DE_ADIA, DE_ODIA
# define _NR1_5_ DE_P, DE_B, DE_M, DE_L, DE_F
# define _NR2_5_ __HRM__NR2_4_, SY_R(DE_H)
# define _NR2_5_ SY_R(DE_D), __HRM__NR2_4_
# define _NR3_5_ DE_W, DE_G, DE_COMM, DE_DOT, MS(DE_K)
//
# define _NL1_6_ _BASE_L_1_, _NL1_5_
# define _NL2_6_ _BASE_L_2_, DE_C, __HRM__NL2_4_
# define _NL2_6_ _BASE_L_2_, __HRM__NL2_4_, DE_O
# define _NL3_6_ _BASE_L_3_, _NL3_5_
# define _NR1_6_ _NR1_5_, _BASE_R_1_(DE_J)
# define _NR2_6_ __HRM__NR2_4_, DE_H, _BASE_R_2_(DE_SS)
# define _NR2_6_ DE_D, __HRM__NR2_4_, _BASE_R_2_(DE_SS)
# define _NR3_6_ _NR3_5_, _BASE_R_3_(KC_ENT)
//
# define _NOTED_3x5_ _NL1_5_, _NR1_5_, _NL2_5_, _NR2_5_, _NL3_5_, _NR3_5_
@ -282,20 +284,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_ HRMR(DE_M, DE_N, DE_E, DE_I)
# define __HRM__CL2_4_ HRML(DE_A, DE_R, DE_S, DE_T)
# define __HRM__CR2_4_ HRMR(DE_N, DE_E, DE_I, DE_O)
# define _CL1_5_ DE_Q, DE_W, DE_F, DE_P, DE_B
# 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_ __HRM__CR2_4_, SY_R(DE_O)
# define _CL2_5_ __HRM__CL2_4_, SY_L(DE_G)
# define _CR2_5_ SY_R(DE_M), __HRM__CR2_4_
# define _CL3_5_ MS(DE_Z), DE_X, DE_C, DE_D, DE_V
# 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_, DE_A, __HRM__CL2_4_
# define _CR1_6_ _CR1_5_, _BASE_R_1_(DE_UDIA)
# define _CL2_6_ _BASE_L_2_, __HRM__CL2_4_, DE_G
# define _CR2_6_ DE_M, __HRM__CR2_4_, _BASE_R_2_(DE_ADIA)
# define _CL3_6_ _BASE_L_3_, _CL3_5_
# define _CR1_6_ _CR1_5_, _BASE_R_1_(DE_SS)
# define _CR2_6_ __HRM__CR2_4_, DE_Q, SY_R(DE_O)
# define _CR3_6_ _CR3_5_, _BASE_R_3_(KC_ENT)
//
# define _COLEMAK_DH_3x5_ _CL1_5_, _CR1_5_, _CL2_5_, _CR2_5_, _CL3_5_, _CR3_5_