Turned on NKRO

This commit is contained in:
Drew Whitney 2025-11-16 00:45:42 -07:00
commit a5d339e28d
10 changed files with 101 additions and 86 deletions

View file

@ -6,7 +6,6 @@
/// @brief Custom keycodes. /// @brief Custom keycodes.
enum CustomKeycodes { enum CustomKeycodes {
WIN_SWAP = SAFE_RANGE, // custom alt-tabbing WIN_SWAP = SAFE_RANGE, // custom alt-tabbing
OSO_SHIFT, // makes thumb shift oneshot-only
PH_P, // placeholder key that passes through to P when Ctrl is held PH_P, // placeholder key that passes through to P when Ctrl is held
}; };
@ -25,7 +24,8 @@ enum CustomKeycodes {
// layers // layers
#define SYM_ENT LT(_SYM, KC_ENT) #define SYM_ENT LT(_SYM, KC_ENT)
#define NAV_CANCEL LT(_NAV, KC_NO) // have to implement this functionality #define NAV_CANCEL LT(_NAV, KC_NO) // have to implement this functionality
#define NUM MO(_NUM) #define NUM_SPC LT(_NUM, KC_SPC)
// #define NUM MO(_NUM)
#define LAUNCH_NUM LT(_SH_NUM, LAUNCH) #define LAUNCH_NUM LT(_SH_NUM, LAUNCH)
#define COMP_ARROW LT(_SH_ARROW, COMPOSE) #define COMP_ARROW LT(_SH_ARROW, COMPOSE)

View file

@ -2,33 +2,33 @@
#include "../alias.h" #include "../alias.h"
#include "../layers/layers.h" #include "../layers/layers.h"
uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) { // uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) {
switch (combo_index) { // switch (combo_index) {
case NumCombo: // case NumCombo:
return 75; // return 75;
break; // break;
} // }
return COMBO_TERM; // return COMBO_TERM;
} // }
bool process_combo_key_release( // bool process_combo_key_release(
uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode // uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode
) { // ) {
switch (combo_index) { // switch (combo_index) {
case NumCombo: // release the combo on any releases // case NumCombo: // release the combo on any releases
switch (keycode) { // switch (keycode) {
case SYM_ENT: // case SYM_ENT:
layer_off(_SYM); // layer_off(_SYM);
break; // break;
case NAV_CANCEL: // case NAV_CANCEL:
layer_off(_NAV); // layer_off(_NAV);
break; // break;
} // }
layer_off(_NUM); // layer_off(_NUM);
break; // break;
} // }
return false; // return false;
} // }
bool process_combo_key_repress( bool process_combo_key_repress(
uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode

View file

@ -3,6 +3,6 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum Combos { enum Combos {
NumCombo, // NumCombo,
WinSwapCombo, WinSwapCombo,
}; };

View file

@ -1,18 +1,21 @@
#pragma once #pragma once
#define TAPPING_TERM 200 #define TAPPING_TERM 200
// tap- // tap-hold
#define QUICK_TAP_TERM_PER_KEY #define QUICK_TAP_TERM_PER_KEY
#define HOLD_ON_OTHER_KEY_PRESS // #define HOLD_ON_OTHER_KEY_PRESS
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
#define PERMISSIVE_HOLD_PER_KEY
// combos // combos
#define COMBO_PROCESS_KEY_RELEASE // #define COMBO_PROCESS_KEY_RELEASE
#define COMBO_PROCESS_KEY_REPRESS #define COMBO_PROCESS_KEY_REPRESS
#define COMBO_TERM_PER_COMBO // #define COMBO_TERM_PER_COMBO
#define CAPS_WORD_IDLE_TIMEOUT 0 #define CAPS_WORD_IDLE_TIMEOUT 0
#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RCTL #define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RCTL
#define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LALT), MOD_BIT(KC_RALT), MOD_BIT(KC_LGUI), MOD_BIT(KC_RGUI)} #define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LALT), MOD_BIT(KC_RALT), MOD_BIT(KC_LGUI), MOD_BIT(KC_RGUI)}
#define NKRO_DEFAULT_ON true

View file

@ -7,7 +7,7 @@
"encoder": false, "encoder": false,
"extrakey": false, "extrakey": false,
"mousekey": false, "mousekey": false,
"rgb_matrix": true "rgb_matrix": false
}, },
"encoder": { "encoder": {
"rotary": [ "rotary": [

View file

@ -11,7 +11,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
CW_TOGG, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL, CW_TOGG, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL,
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
LAUNCH_NUM, NAV_CANCEL, KC_SPC, OSO_SHIFT, SYM_ENT, COMP_ARROW LAUNCH_NUM, NAV_CANCEL, NUM_SPC, OS_LSFT, SYM_ENT, COMP_ARROW
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
), ),
@ -37,9 +37,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
), ),
[_NUM] = LAYOUT(
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_SLSH, KC_E, KC_ASTR, KC_MINS, KC_PLUS, KC_CIRC, KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
KC_TRNS, NAV_CANCEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
),
[_SYM] = LAYOUT( [_SYM] = LAYOUT(
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
@ -53,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAV] = LAYOUT( [_NAV] = LAYOUT(
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, ZOOM_OUT, ZOOM_IN, TAB_LEFT, TAB_RIGHT, KC_F11, KC_WFWD, KC_HOME, KC_UP, KC_END, PH_P, KC_TRNS, KC_TRNS, ZOOM_OUT, ZOOM_IN, TAB_LEFT, TAB_RIGHT, KC_F11, KC_WFWD, KC_HOME, KC_UP, KC_END, PH_P, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
@ -65,23 +79,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
), ),
[_NUM] = LAYOUT(
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_SLSH, KC_E, KC_ASTR, KC_MINS, KC_PLUS, KC_CIRC, KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_TRNS, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
KC_TRNS, NAV_CANCEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
),
[_SH_NUM] = LAYOUT( // single-handed numbers [_SH_NUM] = LAYOUT( // single-handed numbers
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_SLSH, KC_DOT, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_SLSH, KC_DOT, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SH_ARROW] = LAYOUT( // single-handed arrows [_SH_ARROW] = LAYOUT( // single-handed arrows
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS,
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
@ -115,11 +115,11 @@ tap_dance_action_t tap_dance_actions[] = {
[TD_GAMER_MODE] = ACTION_TAP_DANCE_FN(enter_gamer_mode), [TD_GAMER_MODE] = ACTION_TAP_DANCE_FN(enter_gamer_mode),
}; };
const uint16_t PROGMEM num_layer_combo[] = {NAV_CANCEL, SYM_ENT, COMBO_END}; // const uint16_t PROGMEM num_layer_combo[] = {NAV_CANCEL, SYM_ENT, COMBO_END};
const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END}; const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END};
combo_t key_combos[] = { combo_t key_combos[] = {
[NumCombo] = COMBO(num_layer_combo, NUM), // [NumCombo] = COMBO(num_layer_combo, NUM),
[WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP), [WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP),
}; };
@ -168,13 +168,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
return false; return false;
} }
break; break;
case OSO_SHIFT: // make thumb shift oneshot-only
if (record->event.pressed) {
(!get_oneshot_mods() && MOD_BIT(KC_LSFT) ? add_oneshot_mods
: del_oneshot_mods)(MOD_BIT(KC_LSFT));
}
break;
} }
return true; return true;
} }

View file

@ -1,26 +1,26 @@
#include "./layers.h" #include "./layers.h"
bool NUM_latched = false; // bool NUM_latched = false;
layer_state_t layer_state_set_user(layer_state_t state) { // layer_state_t layer_state_set_user(layer_state_t state) {
// NUM latching // NUM latching
if (NUM_latched) { // if (NUM_latched) {
if (IS_LAYER_ON_STATE(state, _SYM) && IS_LAYER_ON_STATE(state, _NAV)) { // if (IS_LAYER_ON_STATE(state, _SYM) && IS_LAYER_ON_STATE(state, _NAV)) {
state |= 1 << _NUM; // turn on NUM // state |= 1 << _NUM; // turn on NUM
} else { // } else {
// if both NAV and SYM are off, de-latch NUM // // if both NAV and SYM are off, de-latch NUM
if (!IS_LAYER_ON_STATE(state, _SYM) && !IS_LAYER_ON_STATE(state, _NAV)) { // if (!IS_LAYER_ON_STATE(state, _SYM) && !IS_LAYER_ON_STATE(state, _NAV)) {
NUM_latched = false; // NUM_latched = false;
} // }
// since both layers aren't held, turn off NUM // // since both layers aren't held, turn off NUM
state &= ~(1 << _NUM); // state &= ~(1 << _NUM);
} // }
} else if (IS_LAYER_ON_STATE(state, _NUM)) { // } else if (IS_LAYER_ON_STATE(state, _NUM)) {
NUM_latched = true; // NUM_latched = true;
state |= 1 << _NAV | 1 << _SYM; // turn on NAV and SYM // state |= 1 << _NAV | 1 << _SYM; // turn on NAV and SYM
} // }
// return update_tri_layer_state(state, _SYM, _NAV, _NUM); // return update_tri_layer_state(state, _SYM, _NAV, _NUM);
return state; // return state;
} // }

View file

@ -6,12 +6,11 @@
enum { enum {
_BASE, _BASE,
_GAME, _GAME,
_NUM,
_SYM, _SYM,
_NAV, _NAV,
_NUM,
_SH_NUM, _SH_NUM,
_SH_ARROW, _SH_ARROW,
}; };
extern bool NUM_latched; // extern bool NUM_latched;

View file

@ -17,3 +17,5 @@ CAPS_WORD_ENABLE = yes
TAP_DANCE_ENABLE = yes TAP_DANCE_ENABLE = yes
KEY_OVERRIDE_ENABLE = yes KEY_OVERRIDE_ENABLE = yes
COMBO_ENABLE = yes COMBO_ENABLE = yes
NKRO_ENABLE = yes

View file

@ -6,9 +6,27 @@
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) { uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) {
switch (keycode) { switch (keycode) {
case SYM_ENT: // no repeat tapping for this key case SYM_ENT: // no repeat tapping for this key
case NUM_SPC:
return 0; return 0;
break; break;
} }
return QUICK_TAP_TERM; return QUICK_TAP_TERM;
} }
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) {
switch (keycode) {
case NUM_SPC:
return false;
break;
}
return true;
}
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case NUM_SPC:
return true;
break;
}
return false;
}