HoldOnOtherKeyPress for Enter + updated RAISE layer

This commit is contained in:
Björn 2025-01-18 19:09:29 +01:00 committed by GitHub
commit 7d9cdda9a0
Failed to generate hash of commit
4 changed files with 30 additions and 13 deletions

View file

@ -5,11 +5,11 @@ The POINTER layer is altered to meet charybdis' needs and special keys:
## Pointer (Mouse, only if enabled) ## Pointer (Mouse, only if enabled)
* CSC: CTL(/GUI)+Shift+Click * CSC: CTL(/GUI)+Shift+Click
``` ```
(⌥)│vMv│SD-│DD-│DD+│SD+ │ │CSC│AGr│ │(⌥) (⌥)│vMv│SD-│DD-│DD+│SD+ │Snp│Drg│DrT│ │(⌥)
─── ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── ─── ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ───
(⌃)│Bt4│DrT│Drg│Snp│Bt5 Meh│Sft│ ⌃ │ ⌥ │ ⌘ │(⌃) (⌃)│Bt4│DrT│Drg│Snp│Bt5 Meh│Sft│ ⌃ │ ⌥ │ ⌘ │(⌃)
─── ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── ─── ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ───
(⌘)│Tb←│Cut│Cpy│Pst│^M^ │Snp│Drg│DrT│Tb→│(⌘) (⌘)│Tb←│Cut│Cpy│Pst│^M^ │ │CSC│AGr│Tb→│(⌘)
┌───┬───┬───┐ ┌───┬───┐ ┌───┬───┬───┐ ┌───┬───┐
│CSC│Bt1│Bt2│ │Bt3│Bt1│ │CSC│Bt1│Bt2│ │Bt3│Bt1│
└───┴───┴───┘ └───┴─⇧─┘ └───┴───┴───┘ └───┴─⇧─┘

View file

@ -33,6 +33,8 @@
# define TAPPING_TERM 300 # define TAPPING_TERM 300
# define QUICK_TAP_TERM 175 # define QUICK_TAP_TERM 175
# define QUICK_TAP_TERM_PER_KEY # define QUICK_TAP_TERM_PER_KEY
# define HOLD_ON_OTHER_KEY_PRESS
# define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
# define PERMISSIVE_HOLD # define PERMISSIVE_HOLD
# define TAP_CODE_DELAY 20 # define TAP_CODE_DELAY 20
# define TAPPING_FORCE_HOLD # define TAPPING_FORCE_HOLD

View file

@ -338,6 +338,21 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
# endif // QUICK_TAP_TERM_PER_KEY # endif // QUICK_TAP_TERM_PER_KEY
#endif // QUICK_TAP_TERM #endif // QUICK_TAP_TERM
#ifdef HOLD_ON_OTHER_KEY_PRESS
# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case RSFT_T(KC_SPC):
// Immediately select the hold action when another key is pressed.
return true;
default:
// Do not select the hold action when another key is pressed.
return false;
}
}
# endif // HOLD_ON_OTHER_KEY_PRESS_PER_KEY
#endif // HOLD_ON_OTHER_KEY_PRESS
#ifdef CAPS_WORD_ENABLE #ifdef CAPS_WORD_ENABLE
bool caps_word_press_user(uint16_t keycode) { bool caps_word_press_user(uint16_t keycode) {
// adapt caps word to german layout // adapt caps word to german layout

View file

@ -294,7 +294,7 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
#endif // GAME_ENABLE #endif // GAME_ENABLE
/* Symbols layer */ /* Symbols layer */
#define _SL1_5_ DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC #define _SL1_5_ DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC
#define _SL2_5_ DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR #define _SL2_5_ DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR
#define _SL3_5_ DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT #define _SL3_5_ DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT
#define _SR1_5_ DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR #define _SR1_5_ DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR
@ -305,7 +305,7 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
#define _SL2_6_ _ADD_L_2_, _SL2_5_ #define _SL2_6_ _ADD_L_2_, _SL2_5_
#define _SL3_6_ _ADD_L_3_, _SL3_5_ #define _SL3_6_ _ADD_L_3_, _SL3_5_
#define _SR1_6_ _SR1_5_, _ADD_R_1_ #define _SR1_6_ _SR1_5_, _ADD_R_1_
#define _SR2_6_ _SR2_5_, _ADD_R_2_ #define _SR2_6_ _SR2_5_, DE_SECT
#define _SR3_6_ _SR3_5_, _ADD_R_3_ #define _SR3_6_ _SR3_5_, _ADD_R_3_
// //
#ifdef DYNAMIC_TAPPING_TERM_ENABLE #ifdef DYNAMIC_TAPPING_TERM_ENABLE
@ -371,12 +371,12 @@ 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_ #define _LOWER_3x6_ _LL1_6_, _LR1_6_, _LL2_6_, _LR2_6_, _LL3_6_, _LR3_6_
/* Raise: Control + Navigation layer */ /* Raise: Control + Navigation layer */
#define _RL1_5_ KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_ESC #define _RL1_5_ KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN
#define _RL2_5_ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END #define _RL2_5_ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
#define _RL3_5_ KC_INS, KC_CUT, KC_COPY, KC_PSTE, KC_PGDN #define _RL3_5_ KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_AGAIN
#define _RR1_5_ KC_MPRV, KC_MSTP, KC_MPLY, OSM_AGR, KC_MNXT #define _RR1_5_ KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_EJCT
#define _RR2_5_ OSM_MEH, OSM_SFT, OSM_CTL, OSM_ALT, OSM_GUI #define _RR2_5_ OSM_MEH, OSM_CTL, OSM_GUI, OSM_ALT, OSM_SFT
#define _RR3_5_ KC_PSCR, CW_TOGG, KC_PAUS, KC_EJCT, KC_SCRL #define _RR3_5_ KC_PSCR, KC_NO, KC_INSERT, OSM_AGR, CW_TOGG
// //
#define _RL1_6_ _ADD_L_1_, _RL1_5_ #define _RL1_6_ _ADD_L_1_, _RL1_5_
#define _RL2_6_ _ADD_L_2_, _RL2_5_ #define _RL2_6_ _ADD_L_2_, _RL2_5_
@ -401,12 +401,12 @@ void symR_reset(tap_dance_state_t *state, void *user_data);
#define _AR2_5_ DE_IQUE, DE_MDDT, DE_SLQU, DE_LSQU, DE_RSQU #define _AR2_5_ DE_IQUE, DE_MDDT, DE_SLQU, DE_LSQU, DE_RSQU
#define _AR3_5_ DE_NDSH, DE_MDSH, DE_DLQU, DE_LDQU, DE_RDQU #define _AR3_5_ DE_NDSH, DE_MDSH, DE_DLQU, DE_LDQU, DE_RDQU
// //
#define _AL1_6_ KC_NO, _AL1_5_ #define _AL1_6_ QK_BOOT, _AL1_5_
#define _AL2_6_ KC_NO, _AL2_5_ #define _AL2_6_ KC_NO, _AL2_5_
#define _AL3_6_ KC_NO, _AL3_5_ #define _AL3_6_ EE_CLR, _AL3_5_
#define _AR1_6_ _AR1_5_, DE_SECT #define _AR1_6_ _AR1_5_, QK_BOOT
#define _AR2_6_ _AR2_5_, DE_ELLP #define _AR2_6_ _AR2_5_, DE_ELLP
#define _AR3_6_ _AR3_5_, KC_NO #define _AR3_6_ _AR3_5_, EE_CLR
// //
#define _AL4_2_ LSFT_T(KC_BRID), KC_TRNS #define _AL4_2_ LSFT_T(KC_BRID), KC_TRNS
#define _AL4_3_ KC_LSFT, _AL4_2_ #define _AL4_3_ KC_LSFT, _AL4_2_