qmk_userspace/rpw.c
2025-02-17 00:47:46 +00:00

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;
}
*/