process_unicode: Handle too long UCIS symbol names
If the symbol name being entered is longer than the max, stop recording it, and stop processing keycodes apart from the ones that can delete, finish or cancel the sequence. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>master
parent
fa06a16360
commit
0b6861827f
|
@ -110,7 +110,15 @@ void qk_ucis_symbol_fallback (void) {
|
||||||
bool process_record_ucis (uint16_t keycode, keyrecord_t *record) {
|
bool process_record_ucis (uint16_t keycode, keyrecord_t *record) {
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
|
||||||
if (!qk_ucis_state.in_progress || !record->event.pressed)
|
if (!qk_ucis_state.in_progress)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (qk_ucis_state.count >= UCIS_MAX_SYMBOL_LENGTH &&
|
||||||
|
!(keycode == KC_BSPC || keycode == KC_ESC || keycode == KC_SPC || keycode == KC_ENT)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!record->event.pressed)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
qk_ucis_state.codes[qk_ucis_state.count] = keycode;
|
qk_ucis_state.codes[qk_ucis_state.count] = keycode;
|
||||||
|
|
Loading…
Reference in New Issue