Ctrl and the wheel over a PDF

The same gesture Aether has, whose comment already claimed InkNote had it.
Registered by hand rather than through onWheel, because React attaches wheel
listeners passively and a passive listener may not call preventDefault —
without which the browser zooms the whole application instead of the
document.

What stays still depends on how the zoom was asked for, and the two answers
differ: the wheel holds the point under the pointer, the buttons hold the
page being read. The buttons held nothing at all before, so three presses of
+ left you somewhere else in the file; that came out of building this and is
fixed with it.

The checks are the step, that the default really was prevented, and that a
point measured on the page is still under the pointer afterwards.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-25 15:00:54 +02:00
1 parent 8f8fecfb96
commit 580eed8992
4 files changed
+211 -7

No files matched your search

+25
View File
@@ -40,6 +40,31 @@ a rebuild is not bit-identical.
---
## 2026-08-22 — Ctrl and the wheel over a PDF
**Images** — web `sha256:783ccf92…`, server `sha256:2141f145…`
No backend source changed this round; the server digest moved only because
`build.sh` builds both and a rebuild is not bit-identical.
**Added**
- **Ctrl (or ⌘) and the wheel zoom the document**, as in every other viewer, and
a trackpad pinch with it — it arrives as the same event. The listener is
registered by hand rather than through `onWheel`: React attaches wheel
listeners passively, a passive listener may not call `preventDefault`, and
without that the *browser* zooms the whole application instead, toolbar and
all. **The point under the pointer stays under the pointer**: you are pointing
at a word and asking for that to grow, not to be sent to the top of the page.
**Fixed**
- **Zooming with the buttons drifted.** A zoom changes how tall the document is,
so the scroll position means something else afterwards, and nothing was holding
anything still — three presses of + and you were elsewhere in the file. They
hold the page being read now, which is what "show me this page larger" asks
for.
---
## 2026-08-22 — A bigger face, and the theme where the settings are
**Images** — web `sha256:fe35b0e7…`, server `sha256:a557fb4d…`