unicode_input_finish();
}
+__attribute__((weak))
+void qk_ucis_success(uint8_t symbol_index) {
+}
+
static bool is_uni_seq(char *seq) {
uint8_t i;
}
bool process_ucis (uint16_t keycode, keyrecord_t *record) {
- uint8_t i;
+ unicode_input_mode_init();
if (!qk_ucis_state.in_progress)
return true;
if (keycode == KC_ENT || keycode == KC_SPC || keycode == KC_ESC) {
bool symbol_found = false;
- for (i = qk_ucis_state.count; i > 0; i--) {
+ for (uint8_t i = qk_ucis_state.count; i > 0; i--) {
register_code (KC_BSPC);
unregister_code (KC_BSPC);
wait_ms(UNICODE_TYPE_DELAY);
}
unicode_input_start();
- for (i = 0; ucis_symbol_table[i].symbol; i++) {
+ for (uint8_t i = 0; ucis_symbol_table[i].symbol; i++) {
if (is_uni_seq (ucis_symbol_table[i].symbol)) {
symbol_found = true;
register_ucis(ucis_symbol_table[i].code + 2);
}
unicode_input_finish();
+ if (symbol_found) {
+ qk_ucis_success(i);
+ }
+
qk_ucis_state.in_progress = false;
return false;
}