mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-24 17:37:40 +06:00
Insert delay between shifted chars in send_string_with_delay for AVR (#23673)
This commit is contained in:
parent
e9e26c2b52
commit
a29f665769
|
@ -294,7 +294,7 @@ void tap_random_base64(void) {
|
||||||
|
|
||||||
#if defined(__AVR__)
|
#if defined(__AVR__)
|
||||||
void send_string_P(const char *string) {
|
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) {
|
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) break;
|
||||||
if (ascii_code == SS_QMK_PREFIX) {
|
if (ascii_code == SS_QMK_PREFIX) {
|
||||||
ascii_code = pgm_read_byte(++string);
|
ascii_code = pgm_read_byte(++string);
|
||||||
|
|
||||||
if (ascii_code == SS_TAP_CODE) {
|
if (ascii_code == SS_TAP_CODE) {
|
||||||
// tap
|
// tap
|
||||||
uint8_t keycode = pgm_read_byte(++string);
|
uint8_t keycode = pgm_read_byte(++string);
|
||||||
|
@ -319,24 +320,19 @@ void send_string_with_delay_P(const char *string, uint8_t interval) {
|
||||||
// delay
|
// delay
|
||||||
int ms = 0;
|
int ms = 0;
|
||||||
uint8_t keycode = pgm_read_byte(++string);
|
uint8_t keycode = pgm_read_byte(++string);
|
||||||
|
|
||||||
while (isdigit(keycode)) {
|
while (isdigit(keycode)) {
|
||||||
ms *= 10;
|
ms *= 10;
|
||||||
ms += keycode - '0';
|
ms += keycode - '0';
|
||||||
keycode = pgm_read_byte(++string);
|
keycode = pgm_read_byte(++string);
|
||||||
}
|
}
|
||||||
while (ms--)
|
wait_ms(ms);
|
||||||
wait_ms(1);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
send_char(ascii_code);
|
send_char_with_delay(ascii_code, interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
++string;
|
++string;
|
||||||
// interval
|
|
||||||
{
|
|
||||||
uint8_t ms = interval;
|
|
||||||
while (ms--)
|
|
||||||
wait_ms(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user