diff --git a/source/main.c b/source/main.c index d482cea..55f4706 100644 --- a/source/main.c +++ b/source/main.c @@ -100,6 +100,7 @@ int main(void) { hidScanInput(); u32 kDown = hidKeysDown(); + u32 kHeld = hidKeysHeld(); if (qr_mode) { @@ -266,6 +267,37 @@ int main(void) if (selected_theme >= theme_count) selected_theme = theme_count-1; } } + // Fast scroll using circle pad + else if (kHeld & KEY_CPAD_UP) + { + svcSleepThread(100000000); + + if (splash_mode) + { + selected_splash--; + if (selected_splash < 0) + selected_splash = splash_count - 1; + } else { + selected_theme--; + if (selected_theme < 0) + selected_theme = theme_count - 1; + } + } + else if (kHeld & KEY_CPAD_DOWN) + { + svcSleepThread(100000000); + + if (splash_mode) + { + selected_splash++; + if (selected_splash >= splash_count) + selected_splash = 0; + } else { + selected_theme++; + if (selected_theme >= theme_count) + selected_theme = 0; + } + } if (!splash_mode && selected_theme != previously_selected) {