From 58d38d02b215f2e4829ccdc399df8d59bb6cb140 Mon Sep 17 00:00:00 2001 From: cflip Date: Mon, 16 Jan 2023 13:36:25 -0700 Subject: Ignore first keypress after entering insert mode This fixes the problem where the key used to enter insert mode ('i' for example) would also be typed into the document. --- input.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'input.c') diff --git a/input.c b/input.c index 37f4c2e..74222bb 100644 --- a/input.c +++ b/input.c @@ -61,6 +61,7 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym) break; case SDLK_i: editor->mode = EDITOR_MODE_INSERT; + editor->pressed_insert_key = 1; break; case SDLK_a: if (keysym->mod & KMOD_SHIFT) @@ -68,6 +69,7 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym) else editor_move_right(editor); editor->mode = EDITOR_MODE_INSERT; + editor->pressed_insert_key = 1; break; case SDLK_o: if (keysym->mod & KMOD_SHIFT) @@ -75,6 +77,7 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym) else editor_add_line_below(editor); editor->mode = EDITOR_MODE_INSERT; + editor->pressed_insert_key = 1; break; case SDLK_k: editor_move_up(editor); -- cgit v1.2.3