51 lines
1.4 KiB
C
51 lines
1.4 KiB
C
#ifdef PERMISSIVE_HOLD_PER_KEY
|
|
// true: Immediately select the hold action when another key is tapped.
|
|
// false: Do not select the hold action when another key is tapped.
|
|
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
|
switch (keycode) {
|
|
case SFT_D:
|
|
return true;
|
|
case SFT_K:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
#endif
|
|
|
|
#ifdef COMBO_ENABLE
|
|
enum combo_events {
|
|
COMBO_BSPC,
|
|
COMBO_NUMBAK,
|
|
COMBO_TAB,
|
|
COMBO_ESC,
|
|
COMBO_DEL,
|
|
};
|
|
|
|
const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
|
|
const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
|
|
const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END};
|
|
const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END};
|
|
const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
|
|
|
|
combo_t key_combos[] = {
|
|
[COMBO_BSPC] = COMBO(combo_bspc, KC_BSPC),
|
|
[COMBO_NUMBAK] = COMBO(combo_numbak, KC_BSPC),
|
|
[COMBO_TAB] = COMBO(combo_tab, KC_TAB),
|
|
[COMBO_ESC] = COMBO(combo_esc, KC_ESC),
|
|
[COMBO_DEL] = COMBO(combo_del, KC_DEL)
|
|
};
|
|
#endif
|
|
|
|
/*
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
switch (keycode) {
|
|
case LT(FN1, KC_NO):
|
|
if (record->tap.count && record->event.pressed) {
|
|
layer_invert(FN3);
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
*/
|