switchbrew / nx-hbmenu

The Nintendo Switch Homebrew Menu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] Hold Direction Button = Scroll

IBNobody opened this issue · comments

It would be nice if holding down a direction key would continuously scroll the menu selection rather than requiring multiple presses. This would better mirror Horizon's title selection behavior.

The following line is the line that detects if a button is pressed.

u32 down = hidKeysDown(CONTROLLER_P1_AUTO);

A feature request would be to keep the line and also add a line...

u32 held = hidKeysHeld(CONTROLLER_P1_AUTO);

Then the following lines that move the selection might change to...

        if ((down & KEY_LEFT) || (held & KEY_LEFT)) move--;
        if ((down & KEY_RIGHT) || (held & KEY_RIGHT)) move++;
        if ((down & KEY_DOWN) || (held & KEY_DOWN)) move-=7;
        if ((down & KEY_UP) || (held & KEY_UP)) move+=7;

Some sort of delay/counter would need to be added to slow down the menu selection.

commented

hidKeysDown being true implies hidKeysHeld also being true.
What we really need is a way to handle simulated repeated down messages, similar to libnds's keysDownRepeat function.

commented

Implemented by 20c1f00.