From 2e656c0ca9c0ac23d0886724a446b9c4398ee6e1 Mon Sep 17 00:00:00 2001 From: Teb0so Date: Mon, 13 Apr 2026 14:55:25 -0300 Subject: [PATCH] Implement skip page functionality with PageUP/PageDOWN keys --- src/common.h | 1 + src/main.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/common.h b/src/common.h index 761b093f..4ddb5a4e 100644 --- a/src/common.h +++ b/src/common.h @@ -11,6 +11,7 @@ #define FPS 60 #define DELTA_TIME (1.0f / FPS) #define CURSOR_OFFSET 0.13f +#define PAGE_JUMP_LINES 20 typedef int Errno; diff --git a/src/main.c b/src/main.c index eac9ac5f..a6f4b892 100644 --- a/src/main.c +++ b/src/main.c @@ -370,6 +370,24 @@ int main(int argc, char **argv) } break; + case SDLK_PAGEUP: { + editor_update_selection(&editor, event.key.keysym.mod & KMOD_SHIFT); + for(int i = 0; i < PAGE_JUMP_LINES; i++) { + editor_move_line_up(&editor); + } + editor.last_stroke = SDL_GetTicks(); + } + break; + + case SDLK_PAGEDOWN: { + editor_update_selection(&editor, event.key.keysym.mod & KMOD_SHIFT); + for(int i = 0; i < PAGE_JUMP_LINES; i++) { + editor_move_line_down(&editor); + } + editor.last_stroke = SDL_GetTicks(); + } + break; + case SDLK_LEFT: { editor_update_selection(&editor, event.key.keysym.mod & KMOD_SHIFT); if (event.key.keysym.mod & KMOD_CTRL) {