FS#13698 - Rockblox don't accept control commands

FiiO M3K - you have to hold up or down before the pieces will rotate

AFAICT the scrollpad on the m3k is being presented as a scrollwheel
and it waits for 3 events before enabling rotation.

This behavior is blocking the user presses till you get a repeat event
Fix:
 Enable the scrollwheel at start for the m3k (and m3k linux)

Change-Id: Ic36048dae6f691e9085ab37ffbf67be07c2035ac
This commit is contained in:
William Wilgus 2025-11-22 09:42:14 -05:00
parent 5e7a4290b2
commit 7bd04ad89a

View file

@ -433,6 +433,7 @@
#define ROCKBLOX_RIGHT BUTTON_NEXT
#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
#define ROCKBLOX_SCROLL_ENABLED 1 //Untested Probably needed
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
@ -465,6 +466,7 @@
#define ROCKBLOX_RIGHT BUTTON_RIGHT
#define ROCKBLOX_DROP BUTTON_PLAY
#define ROCKBLOX_RESTART BUTTON_BACK
#define ROCKBLOX_SCROLL_ENABLED 1
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
@ -858,8 +860,13 @@ static void new_block(void);
#ifdef HAVE_SCROLLWHEEL
int wheel_events = 0, last_wheel_event = 0;
#ifdef ROCKBLOX_SCROLL_ENABLED
/* Bugfix M3K has a scrollpad that is also up down buttons */
bool wheel_enabled = true;
#else
bool wheel_enabled = false;
#endif
#endif
static const short scoring[4] = { /* scoring for each number of lines */
#if BOARD_HEIGHT == 20