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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user