#include "quantum.h" #include "dshields.h" bool process_record_user(uint16_t keycode, keyrecord_t *record) { if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { keycode = keycode & 0xFF; } if (keycode == KC_ESC && record->event.pressed) { bool rc = true; uint8_t mods = 0; if ((mods = get_oneshot_mods()) && !has_oneshot_mods_timed_out()) { clear_oneshot_mods(); unregister_mods(mods); rc = false; } if ((mods = get_oneshot_locked_mods())) { clear_oneshot_locked_mods(); unregister_mods(mods); rc = false; } if (is_oneshot_layer_active()) { layer_clear(); rc = false; } return rc; } return true; }