diff --git a/quantum/quantum.c b/quantum/quantum.c index 0fe918b3651..7038228f739 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -957,13 +957,12 @@ void send_char(char ascii_code) { keycode = pgm_read_byte(&ascii_to_keycode_lut[(uint8_t)ascii_code]); if (pgm_read_byte(&ascii_to_shift_lut[(uint8_t)ascii_code])) { is_shifted = true; } else { is_shifted = false; } - if (pgm_read_byte(&ascii_to_alt_lut[(uint8_t)ascii_code])) { is_alted = true; } else { is_alted = false; } + if (pgm_read_byte(&ascii_to_alt_lut[(uint8_t)ascii_code])) { is_alted = true; } else { is_alted = false; } if (is_shifted) { register_code(KC_LSFT); } if (is_alted) { register_code(KC_RALT); } - register_code(keycode); - unregister_code(keycode); + tap_code(keycode); if (is_alted) { unregister_code(KC_RALT); } if (is_shifted) { unregister_code(KC_LSFT); } diff --git a/quantum/quantum.h b/quantum/quantum.h index c7fce9a0f60..f7b278cefd7 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -206,6 +206,7 @@ extern uint32_t default_layer_state; #define SEND_STRING(str) send_string_P(PSTR(str)) extern const bool ascii_to_shift_lut[0x80]; +extern const bool ascii_to_alt_lut[0x80]; extern const uint8_t ascii_to_keycode_lut[0x80]; void send_string(const char *str); void send_string_with_delay(const char *str, uint8_t interval);