mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-18 05:32:05 +00:00
modified tapping term setting
This commit is contained in:
parent
3267ca3cbe
commit
6fa88f242c
@ -7,6 +7,7 @@
|
|||||||
#define WIN_MOD_INDEX 16
|
#define WIN_MOD_INDEX 16
|
||||||
#define MAC_MOD_INDEX 17
|
#define MAC_MOD_INDEX 17
|
||||||
#define SDB A4
|
#define SDB A4
|
||||||
|
#define TAPPING_TERM_PER_KEY
|
||||||
|
|
||||||
#define AW20216S_CS_PIN_1 B12
|
#define AW20216S_CS_PIN_1 B12
|
||||||
#define AW20216S_EN_PIN_1 SDB
|
#define AW20216S_EN_PIN_1 SDB
|
||||||
|
@ -18,6 +18,14 @@ enum tap_hold_keys {
|
|||||||
_DN_MU //Tap--KC_DOWN and Hold--KC_APP
|
_DN_MU //Tap--KC_DOWN and Hold--KC_APP
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case RSFT_T(KC_UP):
|
||||||
|
return TAPPING_TERM - 80; //right shift hold time less than default tapping term 80ms
|
||||||
|
default:
|
||||||
|
return TAPPING_TERM;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/*
|
/*
|
||||||
@ -73,20 +81,6 @@ typedef struct {
|
|||||||
uint16_t held;
|
uint16_t held;
|
||||||
} tap_dance_tap_hold_t;
|
} tap_dance_tap_hold_t;
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
tap_dance_action_t *action;
|
|
||||||
|
|
||||||
switch (keycode) {
|
|
||||||
case TD(_DN_MU):
|
|
||||||
action = &tap_dance_actions[TD_INDEX(keycode)];
|
|
||||||
if (!record->event.pressed && action->state.count && !action->state.finished) {
|
|
||||||
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data;
|
|
||||||
tap_code16(tap_hold->tap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) {
|
void tap_dance_tap_hold_finished(tap_dance_state_t *state, void *user_data) {
|
||||||
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;
|
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data;
|
||||||
|
|
||||||
@ -175,10 +169,9 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
if (!process_record_user(keycode, record)) {
|
tap_dance_action_t *action;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
# ifdef RGB_MATRIX_ENABLE
|
# ifdef RGB_MATRIX_ENABLE
|
||||||
case RGB_TOG:
|
case RGB_TOG:
|
||||||
@ -231,7 +224,15 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
|||||||
FN_MAC = 0;
|
FN_MAC = 0;
|
||||||
}
|
}
|
||||||
return true; // continue all further processing of this key
|
return true; // continue all further processing of this key
|
||||||
default:
|
|
||||||
return true;
|
case TD(_DN_MU):
|
||||||
|
action = &tap_dance_actions[TD_INDEX(keycode)];
|
||||||
|
if (!record->event.pressed && action->state.count && !action->state.finished) {
|
||||||
|
tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data;
|
||||||
|
tap_code16(tap_hold->tap);
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user