A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

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

+17 -10
+17 -10
apps/plugins/rockblox.c
··· 424 424 425 425 #elif CONFIG_KEYPAD == FIIO_M3K_LINUX_PAD 426 426 427 - #define ROCKBLOX_OFF BUTTON_POWER 428 - #define ROCKBLOX_ROTATE_CCW BUTTON_HOME 429 - #define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN 430 - #define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP 431 - #define ROCKBLOX_DOWN BUTTON_OPTION 432 - #define ROCKBLOX_LEFT BUTTON_PREV 433 - #define ROCKBLOX_RIGHT BUTTON_NEXT 434 - #define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL) 435 - #define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT) 427 + #define ROCKBLOX_OFF BUTTON_POWER 428 + #define ROCKBLOX_ROTATE_CCW BUTTON_HOME 429 + #define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN 430 + #define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP 431 + #define ROCKBLOX_DOWN BUTTON_OPTION 432 + #define ROCKBLOX_LEFT BUTTON_PREV 433 + #define ROCKBLOX_RIGHT BUTTON_NEXT 434 + #define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL) 435 + #define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT) 436 + #define ROCKBLOX_SCROLL_ENABLED 1 //Untested Probably needed 436 437 437 438 #elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD) 438 439 ··· 465 466 #define ROCKBLOX_RIGHT BUTTON_RIGHT 466 467 #define ROCKBLOX_DROP BUTTON_PLAY 467 468 #define ROCKBLOX_RESTART BUTTON_BACK 469 + #define ROCKBLOX_SCROLL_ENABLED 1 468 470 469 471 #elif CONFIG_KEYPAD == SHANLING_Q1_PAD 470 472 /* use touchscreen */ ··· 858 860 859 861 #ifdef HAVE_SCROLLWHEEL 860 862 int wheel_events = 0, last_wheel_event = 0; 861 - bool wheel_enabled = false; 863 + #ifdef ROCKBLOX_SCROLL_ENABLED 864 + /* Bugfix M3K has a scrollpad that is also up down buttons */ 865 + bool wheel_enabled = true; 866 + #else 867 + bool wheel_enabled = false; 868 + #endif 862 869 #endif 863 870 864 871 static const short scoring[4] = { /* scoring for each number of lines */