diff options
author | Skyler Hawthorne <[email protected]> | 2024-05-19 00:37:33 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2024-05-18 21:37:33 -0700 |
commit | a29f665769ab79a119f0f3670734ff743c42e1a1 (patch) | |
tree | db1df3d440c2ad18ee4d4ca246106118c01cccfb /quantum/send_string | |
parent | e9e26c2b52fbc82138435346597521ded6f78605 (diff) | |
download | qmk_firmware-a29f665769ab79a119f0f3670734ff743c42e1a1.tar.gz qmk_firmware-a29f665769ab79a119f0f3670734ff743c42e1a1.zip |
Insert delay between shifted chars in send_string_with_delay for AVR (#23673)
Diffstat (limited to 'quantum/send_string')
-rw-r--r-- | quantum/send_string/send_string.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/quantum/send_string/send_string.c b/quantum/send_string/send_string.c index 8b59c19219..44c5ec5ab9 100644 --- a/quantum/send_string/send_string.c +++ b/quantum/send_string/send_string.c @@ -294,7 +294,7 @@ void tap_random_base64(void) { #if defined(__AVR__) void send_string_P(const char *string) { - send_string_with_delay_P(string, 0); + send_string_with_delay_P(string, TAP_CODE_DELAY); } void send_string_with_delay_P(const char *string, uint8_t interval) { @@ -303,6 +303,7 @@ void send_string_with_delay_P(const char *string, uint8_t interval) { if (!ascii_code) break; if (ascii_code == SS_QMK_PREFIX) { ascii_code = pgm_read_byte(++string); + if (ascii_code == SS_TAP_CODE) { // tap uint8_t keycode = pgm_read_byte(++string); @@ -319,24 +320,19 @@ void send_string_with_delay_P(const char *string, uint8_t interval) { // delay int ms = 0; uint8_t keycode = pgm_read_byte(++string); + while (isdigit(keycode)) { ms *= 10; ms += keycode - '0'; keycode = pgm_read_byte(++string); } - while (ms--) - wait_ms(1); + wait_ms(ms); } } else { - send_char(ascii_code); + send_char_with_delay(ascii_code, interval); } + ++string; - // interval - { - uint8_t ms = interval; - while (ms--) - wait_ms(1); - } } } #endif |