logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: a29f665769ab79a119f0f3670734ff743c42e1a1
parent e9e26c2b52fbc82138435346597521ded6f78605
Author: Skyler Hawthorne <skyler@dead10ck.com>
Date:   Sun, 19 May 2024 00:37:33 -0400

Insert delay between shifted chars in send_string_with_delay for AVR (#23673)


Diffstat:

Mquantum/send_string/send_string.c16++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git 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