From 29bc958c26fa4813579074799804dc2669a9e566 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Fri, 14 Aug 2026 14:24:41 -0400 Subject: [PATCH] Add 'text' interaction mode for PDF (selection-only, no smart detection) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 'select' keeps smart behavior (drag text to select, drag blank to pan); 'text' always defers to the text/annotation layer so drags never pan — for users who want pure selection. Shift still force-pans in both modes; 'pan' remains force-pan. --- fixed-layout.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fixed-layout.js b/fixed-layout.js index 9c493bb..a1a27f7 100644 --- a/fixed-layout.js +++ b/fixed-layout.js @@ -116,7 +116,7 @@ export class FixedLayout extends HTMLElement { break; } case "interaction-mode": { - if (value === "pan" || value === "select") { + if (value === "pan" || value === "select" || value === "text") { this.#interactionMode = value; } break; @@ -496,6 +496,8 @@ export class FixedLayout extends HTMLElement { #handleMouseDown(event) { if (event.button !== 0) return; + if (this.#isPDF && this.#interactionMode === "text" && !event.shiftKey) + return false; if (this.#isPDF && this.#interactionMode === "select" && !event.shiftKey) { const t = event.realTarget; if (