Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

fuzev2: leave at least 3ms between scrollwheel events

fix insane acceleration

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26060 a1c6a512-1295-4272-9138-f99709370657

+13 -10
+13 -10
firmware/target/arm/as3525/sansa-fuzev2/button-fuzev2.c
··· 34 34 #define TIMER_TICK (KERNEL_TIMER_FREQ/HZ)/* how long a tick lasts */ 35 35 #define TIMER_MS (TIMER_TICK/(1000/HZ))/* how long a ms lasts */ 36 36 37 + #define WHEEL_LOOP_INTERVAL ( 3*TIMER_MS) /* 3 ms */ 37 38 #define WHEEL_REPEAT_INTERVAL (300*TIMER_MS) /* 300ms */ 38 39 #define WHEEL_FAST_ON_INTERVAL ( 20*TIMER_MS) /* 20ms */ 39 40 #define WHEEL_FAST_OFF_INTERVAL ( 60*TIMER_MS) /* 60ms */ ··· 76 77 { 1, 3, 0, 2 }, /* Counter-clockwise */ 77 78 }; 78 79 80 + int repeat = 1; /* assume repeat */ 81 + long time = TIMER2_VALUE + current_tick*TIMER_TICK; /* to timer unit */ 82 + long v = (time - last_wheel_post); 83 + if (v < WHEEL_LOOP_INTERVAL) /* avoid too frequent updates */ 84 + return ; 85 + 86 + /* interpolate velocity in timer_freq/timer_unit == 1/s */ 87 + if (v) v = TIMER_FREQ / v; 88 + 89 + /* accumulate velocities over time with each v */ 90 + wheel_velocity = (7*wheel_velocity + v) / 8; 91 + 79 92 unsigned int btn = BUTTON_NONE; 80 93 81 94 if (old_wheel_value == wheel_tbl[0][wheel_value]) ··· 88 101 old_wheel_value = wheel_value; 89 102 return; 90 103 } 91 - 92 - int repeat = 1; /* assume repeat */ 93 - long time = TIMER2_VALUE + current_tick*TIMER_TICK; /* to timer unit */ 94 - long v = (time - last_wheel_post); 95 - 96 - /* interpolate velocity in timer_freq/timer_unit == 1/s */ 97 - if (v) v = TIMER_FREQ / v; 98 - 99 - /* accumulate velocities over time with each v */ 100 - wheel_velocity = (7*wheel_velocity + v) / 8; 101 104 102 105 if (btn != wheel_repeat) 103 106 {