diff --git a/source/arm11/menu/menu_fsel.c b/source/arm11/menu/menu_fsel.c index f5ad878..9697ff6 100644 --- a/source/arm11/menu/menu_fsel.c +++ b/source/arm11/menu/menu_fsel.c @@ -402,6 +402,7 @@ lastname = NULL; } + u32 dbutton_cooldown = 0; while(true) { // update file browser (on demand) @@ -415,6 +416,16 @@ } GFX_waitForEvent(GFX_EVENT_PDC0, true); // VBlank + // directional button cooldown + for (u32 i = dbutton_cooldown; i > 0; i--) + { + hidScanInput(); + GFX_waitForEvent(GFX_EVENT_PDC0, true); // VBlank + if (!(hidKeysHeld() & (KEY_DDOWN|KEY_DUP|KEY_DLEFT|KEY_DRIGHT))) + break; + } + dbutton_cooldown = 0; + if(hidGetPowerButton(true)) // handle power button { power_off(); @@ -474,8 +485,8 @@ if (index < 0) index = 0; } - // sleep for 160ms - TIMER_sleepMs(160); + // set directional button cooldown + dbutton_cooldown = 16; } }