From 13d41cf7c79c9f4742682d82b8b50981d663cab2 Mon Sep 17 00:00:00 2001 From: Teigen Date: Thu, 2 Apr 2026 14:32:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20add=20Tab,=20Esc,=20=E2=8C=A5Enter=20bu?= =?UTF-8?q?ttons=20to=20mobile=20keyboard=20accessory=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Tab (forward), Esc, and Option+Enter (newline) buttons - Reorder buttons: ↑ ↓ 📋 Tab ⇧Tab ⌥Enter Esc /init /clear /compact dismiss - Unify dismiss button style with arrow buttons (was oversized with custom class) - Remove unused .accessory-btn-dismiss CSS rules --- src/web/public/keyboard-accessory.js | 28 +++++++++++++++------- src/web/public/mobile.css | 36 ---------------------------- 2 files changed, 20 insertions(+), 44 deletions(-) diff --git a/src/web/public/keyboard-accessory.js b/src/web/public/keyboard-accessory.js index 811be17c..3a572def 100644 --- a/src/web/public/keyboard-accessory.js +++ b/src/web/public/keyboard-accessory.js @@ -4,7 +4,7 @@ * Defines two exports: * * - KeyboardAccessoryBar (singleton object) — Quick action buttons shown above the virtual - * keyboard on mobile: arrow up/down, Shift+Tab, /init, /clear, /compact, paste, and dismiss. + * keyboard on mobile: Esc, arrow up/down, Tab, Shift+Tab, /init, /clear, /compact, paste, and dismiss. * Destructive actions (/clear, /compact) require double-tap confirmation (2s amber state). * Commands are sent as text + Enter separately for Ink compatibility. * Only initializes on touch devices (MobileDetection.isTouchDevice guard). @@ -53,18 +53,21 @@ const KeyboardAccessoryBar = { - - - - -