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:
1 parent
8f8fecfb96
commit
580eed8992
4 files changed
+211
-7
No files matched your search
@@ -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…`
|
||||
|
||||
Reference in new issue
Block a user