diff options
| author | Jack Jamison <jackqjamison@gmail.com> | 2025-11-05 20:15:24 -0500 |
|---|---|---|
| committer | Jack Jamison <jackqjamison@gmail.com> | 2025-11-06 19:45:21 -0500 |
| commit | 784f7000f29498e6c111afa78a53950989ee94b6 (patch) | |
| tree | 8bf46ef56d4e4376227354c722c8c5bad0e6b4b3 /main.c | |
| parent | a5f6176f7ff33c0200a0686f4ba4ce264d578287 (diff) | |
more keybinds and fixes
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -106,7 +106,7 @@ int main(int argc, char* argv[]) { array_for_all(item_t, item, state.items) { init_text_buffer(&state, &item->text_buffer, item->text, strlen(item->text)); } - filter_items(&state); + refilter_items(&state); // event loop while (state.running) { @@ -166,7 +166,12 @@ void poll_events(client_state* state) { uint64_t repeats; if (read(state->key_repeat_timer_fd, &repeats, sizeof(repeats)) == 8) { for (uint64_t i = 0; i < repeats; i++) { - type_key(state, state->repeat_key); + if (execute_keypress(state, state->repeat_key) == KEY_NO_REPEAT) { + // stop key repeat if we shouldn't repeat anymore + struct itimerspec timer = {0}; + timerfd_settime(state->key_repeat_timer_fd, 0, &timer, NULL); + break; + } } event = true; } |
