]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/template/template.c
Add action-preprocessing hook to keyboard template
[qmk_firmware.git] / quantum / template / template.c
index 58e73cb09f1de402dfade8ae34b07f974d006f72..cc52e496ffe8b1579be8d33d5443c4b6666dfd21 100644 (file)
@@ -10,6 +10,11 @@ void matrix_scan_user(void) {
        // leave this function blank - it can be defined in a keymap file
 }
 
+__attribute__ ((weak))
+void process_action_user(keyrecord_t *record) {
+       // leave this function blank - it can be defined in a keymap file
+}
+
 __attribute__ ((weak))
 void led_set_user(uint8_t usb_led) {
        // leave this function blank - it can be defined in a keymap file
@@ -18,19 +23,26 @@ void led_set_user(uint8_t usb_led) {
 void matrix_init_kb(void) {
        // put your keyboard start-up code here
        // runs once when the firmware starts up
-       
+
        matrix_init_user();
 }
 
 void matrix_scan_kb(void) {
-    // put your looping keyboard code here
-    // runs every cycle (a lot)
+       // put your looping keyboard code here
+       // runs every cycle (a lot)
 
        matrix_scan_user();
 }
 
+void process_action_kb(keyrecord_t *record) {
+       // put your per-action keyboard code here
+       // runs for every action, just before processing by the firmware
+
+       process_action_user(record);
+}
+
 void led_set_kb(uint8_t usb_led) {
        // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 
        led_set_user(usb_led);
-}
\ No newline at end of file
+}