v0.20.5: the wheel learns to coast
getevent settled what the wheel can and can't tell us: och1970_holl_key advertises KEY_UP and KEY_DOWN and nothing else -- no REL_WHEEL, no resolution, because the och1970 is a Hall latch the driver quantises into clicks. There is no sub-detent position to read without a kernel driver change, so all the nuance has to come from *when* the detents arrive. So a detent is now an impulse into a velocity rather than a jump. The list coasts and eases out, and an impulse is worth up to 8x more when detents come 30 ms apart than when they come 220 ms apart -- squared, so the gain stays out of the way while you're hunting for one row. Measured on the device: one unhurried detent moves about half a row, twelve fast ones move forty-odd. Turning back the other way kills the coast first, so a correction bites instead of fighting the glide. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKXUgsBBwe3qaHEjeV8ubP
This commit is contained in:
+11
-4
@@ -31,10 +31,17 @@ that *is* there plays exactly that song, shuffle or not.
|
||||
stats over MTP, ~840 KB of writes and a full tree walk with the progress
|
||||
line frozen. They report now, and `_write_index` reads `Art/` in one
|
||||
listing instead of a stat per album.
|
||||
- [x] **The wheel scrolls smoothly, and the other way** (`WheelScroll`). A
|
||||
detent adds to a pixel debt that a Choreographer callback pays off a
|
||||
fraction per frame, so one detent eases to a stop and a fast spin blends
|
||||
into one movement instead of teleporting a row at a time. Direction
|
||||
- [x] **The wheel scrolls kinetically, and the other way** (`WheelScroll`;
|
||||
v0.20.5 / andTunes 0.2.3 refined the first pass). `getevent -pl` settled
|
||||
what's possible: `och1970_holl_key` advertises `KEY_UP KEY_DOWN` and
|
||||
nothing else — no `REL_WHEEL`, no resolution, because the `och1970` is a
|
||||
Hall latch the driver quantises into clicks. There is no sub-detent
|
||||
position to read, so every bit of nuance comes from the *timing*. A
|
||||
detent is an impulse into a velocity rather than a jump: the list coasts
|
||||
and eases out, and an impulse is worth up to 8× more when detents arrive
|
||||
30 ms apart instead of 220 ms. Measured on the device: one unhurried
|
||||
detent moves about half a row, twelve fast ones move forty-odd. Turning
|
||||
back the other way kills the coast first so a correction bites. Direction
|
||||
flipped in lists only; volume on the other screens is unchanged.
|
||||
|
||||
### Round 54 (2026-09-14) — one artist spelled two ways (v0.20.3, andTunes 0.2.1)
|
||||
|
||||
Reference in New Issue
Block a user