From 17977a7e24ddab6ca101341b33c8fe7ad13e68f5 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 28 May 2016 15:22:30 -0400 Subject: [PATCH] process_record implementation (non-breaking for process_action ATM) --- quantum/quantum.c | 13 +++++++++++++ quantum/quantum.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/quantum/quantum.c b/quantum/quantum.c index c53fb19b..d9aaafd6 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -12,6 +12,16 @@ bool process_action_kb(keyrecord_t *record) { return true; } +__attribute__ ((weak)) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + return process_record_user(keycode, record); +} + +__attribute__ ((weak)) +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + __attribute__ ((weak)) void leader_start(void) {} @@ -124,6 +134,9 @@ bool process_record_quantum(keyrecord_t *record) { keycode = keymap_key_to_keycode(layer_switch_get_layer(key), key); #endif + if (!process_record_kb(keycode, record)) + return false; + // This is how you use actions here // if (keycode == KC_LEAD) { // action_t action; diff --git a/quantum/quantum.h b/quantum/quantum.h index 71533f48..3ce94089 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -62,6 +62,9 @@ extern uint32_t default_layer_state; void matrix_init_kb(void); void matrix_scan_kb(void); 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); + bool is_music_on(void); void music_toggle(void);