forked from mirrors/qmk_userspace
Add a user callback for pre process record (#20584)
This commit is contained in:
parent
8cb13b6750
commit
128f808496
5 changed files with 20 additions and 10 deletions
|
@ -30,6 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "wait.h"
|
||||
#include "keycode_config.h"
|
||||
#include "debug.h"
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
# include "backlight.h"
|
||||
|
@ -65,10 +66,6 @@ __attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *reco
|
|||
}
|
||||
#endif
|
||||
|
||||
__attribute__((weak)) bool pre_process_record_quantum(keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** \brief Called to execute an action.
|
||||
*
|
||||
* FIXME: Needs documentation.
|
||||
|
|
|
@ -114,6 +114,14 @@ __attribute__((weak)) void tap_code16(uint16_t code) {
|
|||
tap_code16_delay(code, code == KC_CAPS_LOCK ? TAP_HOLD_CAPS_DELAY : TAP_CODE_DELAY);
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
return pre_process_record_user(keycode, record);
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool pre_process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool process_action_kb(keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
@ -202,14 +210,13 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache) {
|
|||
|
||||
/* Get keycode, and then process pre tapping functionality */
|
||||
bool pre_process_record_quantum(keyrecord_t *record) {
|
||||
if (!(
|
||||
uint16_t keycode = get_record_keycode(record, true);
|
||||
#ifdef COMBO_ENABLE
|
||||
process_combo(get_record_keycode(record, true), record) &&
|
||||
#endif
|
||||
true)) {
|
||||
if (!(process_combo(keycode, record))) {
|
||||
return false;
|
||||
}
|
||||
return true; // continue processing
|
||||
#endif
|
||||
return pre_process_record_kb(keycode, record);
|
||||
}
|
||||
|
||||
/* Get keycode, and then call keyboard function */
|
||||
|
|
|
@ -261,6 +261,9 @@ void set_single_persistent_default_layer(uint8_t default_layer);
|
|||
|
||||
uint16_t get_record_keycode(keyrecord_t *record, bool update_layer_cache);
|
||||
uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache);
|
||||
bool pre_process_record_quantum(keyrecord_t *record);
|
||||
bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record);
|
||||
bool pre_process_record_user(uint16_t keycode, keyrecord_t *record);
|
||||
bool process_action_kb(keyrecord_t *record);
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record);
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue