]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
process_ucis: Add a callback for success (#4067)
authormartinakcsilla <martinakcsilla@users.noreply.github.com>
Wed, 3 Oct 2018 21:38:02 +0000 (23:38 +0200)
committerDrashna Jaelre <drashna@live.com>
Wed, 3 Oct 2018 21:38:02 +0000 (14:38 -0700)
There is `qk_ucis_symbol_fallback` for the case where symbol lookup
fails, but there wasn't one for the success case. This adds
`qk_ucis_success`, called after successfully finishing the UCIS symbol
input.

Thanks to @drashna for the idea!

Signed-off-by: Csilla Nagyné Martinák <csilla@csillger.hu>
quantum/process_keycode/process_ucis.c
quantum/process_keycode/process_ucis.h

index 86c0937f5e3392fcb60495a213cf9d8fe5612895..5de2e41fc3055ced66a67b231ebd3f2f7b691f77 100644 (file)
@@ -32,6 +32,10 @@ void qk_ucis_start_user(void) {
   unicode_input_finish();
 }
 
+__attribute__((weak))
+void qk_ucis_success(uint8_t symbol_index) {
+}
+
 static bool is_uni_seq(char *seq) {
   uint8_t i;
 
@@ -142,6 +146,10 @@ bool process_ucis (uint16_t keycode, keyrecord_t *record) {
     }
     unicode_input_finish();
 
+    if (symbol_found) {
+      qk_ucis_success(i);
+    }
+
     qk_ucis_state.in_progress = false;
     return false;
   }
index 3f736a709fa2ff3729d8683da94e5b8440e979fa..d4aa34cde73a03a2575fd0542a43235edaa79bd3 100644 (file)
@@ -45,6 +45,7 @@ extern const qk_ucis_symbol_t ucis_symbol_table[];
 void qk_ucis_start(void);
 void qk_ucis_start_user(void);
 void qk_ucis_symbol_fallback (void);
+void qk_ucis_success(uint8_t symbol_index);
 void register_ucis(const char *hex);
 bool process_ucis (uint16_t keycode, keyrecord_t *record);