aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--termkey.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/termkey.c b/termkey.c
index 8f55dd3..b969e83 100644
--- a/termkey.c
+++ b/termkey.c
@@ -372,21 +372,23 @@ static termkey_result getkey_simple(termkey_t *tk, termkey_key *key, int force)
// Try another key there
tk->buffstart++;
+ tk->buffcount--;
// Run the full driver
termkey_result metakey_result = (*tk->driver.getkey)(tk, key, force);
+ tk->buffstart--;
+ tk->buffcount++;
+
switch(metakey_result) {
case TERMKEY_RES_KEY:
key->modifiers |= TERMKEY_KEYMOD_ALT;
- tk->buffstart--;
(*tk->method.eat_bytes)(tk, 1);
break;
case TERMKEY_RES_NONE:
case TERMKEY_RES_EOF:
case TERMKEY_RES_AGAIN:
- tk->buffstart--;
break;
}