]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
process_unicode: Introduce a slight delay
authorGergely Nagy <algernon@madhouse-project.org>
Mon, 15 Aug 2016 08:07:13 +0000 (10:07 +0200)
committerGergely Nagy <algernon@madhouse-project.org>
Mon, 15 Aug 2016 08:08:53 +0000 (10:08 +0200)
When entering unicode codes, use some delay, so the OS has time to
process the information. This is not needed on all systems, but some
seem to require it.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
quantum/process_keycode/process_unicode.c
quantum/process_keycode/process_unicode.h

index d8a0f667cd63d2b0aabfedc68ee2942eab688ff3..72c809c30e4f12b4cc599bc41bdabe5d54709e7e 100644 (file)
@@ -37,6 +37,7 @@ void unicode_input_start (void) {
     unregister_code(KC_PPLS);
     break;
   }
+  wait_ms(UNICODE_TYPE_DELAY);
 }
 
 void unicode_input_finish (void) {
@@ -109,6 +110,7 @@ void qk_ucis_symbol_fallback (void) {
     uint8_t code = qk_ucis_state.codes[i];
     register_code(code);
     unregister_code(code);
+    wait_ms(UNICODE_TYPE_DELAY);
   }
 }
 
@@ -135,6 +137,7 @@ void register_ucis(const char *hex) {
     if (kc) {
       register_code (kc);
       unregister_code (kc);
+      wait_ms (UNICODE_TYPE_DELAY);
     }
   }
 }
@@ -172,6 +175,7 @@ bool process_ucis (uint16_t keycode, keyrecord_t *record) {
     for (i = qk_ucis_state.count; i > 0; i--) {
       register_code (KC_BSPC);
       unregister_code (KC_BSPC);
+      wait_ms(UNICODE_TYPE_DELAY);
     }
 
     if (keycode == KC_ESC) {
index be24ddc2bb79a5eb39d735424e6f3d619b78ff9c..85364e8eb3bd721a5a017a02ed1a9cb0396b24f3 100644 (file)
@@ -8,6 +8,10 @@
 #define UC_WIN 2
 #define UC_BSD 3
 
+#ifndef UNICODE_TYPE_DELAY
+#define UNICODE_TYPE_DELAY 10
+#endif
+
 void set_unicode_input_mode(uint8_t os_target);
 void unicode_input_start(void);
 void unicode_input_finish(void);