summary refs log tree commit diff
diff options
context:
space:
mode:
authorDamien Pollet <damien.pollet@gmail.com>2016-03-28 16:13:37 +0200
committerDamien Pollet <damien.pollet@gmail.com>2016-03-28 16:49:46 +0200
commit2181be029e01d9cf46ae3cadcdf25f5bca02c631 (patch)
treec19ec02b31acc815593f1698462dc4cf0de20761
parentacd64aa841f92ee638ca630fc66c3ff91c09ae72 (diff)
Add action-preprocessing hook to keyboard template
-rw-r--r--quantum/template/template.c20
-rw-r--r--quantum/template/template.h5
2 files changed, 19 insertions, 6 deletions
diff --git a/quantum/template/template.c b/quantum/template/template.c
index 58e73cb09f..cc52e496ff 100644
--- a/quantum/template/template.c
+++ b/quantum/template/template.c
@@ -11,6 +11,11 @@ void matrix_scan_user(void) {
 }
 
 __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
+}
diff --git a/quantum/template/template.h b/quantum/template/template.h
index ba91abac3e..b1c34d3cbe 100644
--- a/quantum/template/template.h
+++ b/quantum/template/template.h
@@ -17,10 +17,11 @@
 { \
     { k00, k01,   k02 }, \
     { k10, KC_NO, k11 }, \
-} 
+}
 
 void matrix_init_user(void);
 void matrix_scan_user(void);
+void process_action_user(keyrecord_t *record);
 void led_set_user(uint8_t usb_led);
 
-#endif
\ No newline at end of file
+#endif