diff --git a/backlog/tasks/task-86 - Renderer-keyboard-driven-Yomitan-lookup-mode-and-popup-key-forwarding.md b/backlog/tasks/task-86 - Renderer-keyboard-driven-Yomitan-lookup-mode-and-popup-key-forwarding.md new file mode 100644 index 0000000..f6a97c3 --- /dev/null +++ b/backlog/tasks/task-86 - Renderer-keyboard-driven-Yomitan-lookup-mode-and-popup-key-forwarding.md @@ -0,0 +1,63 @@ +--- +id: TASK-86 +title: 'Renderer: keyboard-driven Yomitan lookup mode and popup key forwarding' +status: Done +assignee: + - Codex +created_date: '2026-03-04 13:40' +updated_date: '2026-03-04 14:05' +labels: + - enhancement + - renderer + - yomitan +dependencies: + - TASK-77 +references: + - src/renderer/handlers/keyboard.ts + - src/renderer/handlers/mouse.ts + - src/renderer/renderer.ts + - src/renderer/state.ts + - src/renderer/yomitan-popup.ts + - src/core/services/overlay-window.ts + - src/preload.ts + - src/shared/ipc/contracts.ts + - src/types.ts + - vendor/yomitan/js/app/frontend.js + - vendor/yomitan/js/app/popup.js + - vendor/yomitan/js/display/display.js + - vendor/yomitan/js/display/popup-main.js + - vendor/yomitan/js/display/display-audio.js +documentation: + - README.md + - docs/usage.md + - docs/shortcuts.md +priority: medium +ordinal: 13000 +--- + +## Description + + +Add true keyboard-driven token lookup flow in overlay: + +- Toggle keyboard token-selection mode and navigate tokens by keyboard (`Arrow` + `HJKL`). +- Toggle Yomitan lookup window for selected token via fixed accelerator (`Ctrl/Cmd+Y`) without requiring mouse click. +- Preserve keyboard-only workflow while popup is open by forwarding popup keys (`J/K`, `M`, `P`, `[`, `]`) and restoring overlay focus on popup close. +- Ensure selection styling and hover metadata tooltips (frequency/JLPT) work for keyboard-selected token. + + +## Acceptance Criteria + +- [x] #1 Keyboard mode toggle exists and shows visual selection outline for active token. +- [x] #2 Navigation works via arrows and vim keys while keyboard mode is enabled. +- [x] #3 Lookup window toggles from selected token with `Ctrl/Cmd+Y`; close path restores overlay keyboard focus. +- [x] #4 Popup-local controls work via keyboard forwarding (`J/K`, `M`, `P`, `[`, `]`), including mine action. +- [x] #5 Frequency/JLPT hover tags render for keyboard-selected token. +- [x] #6 Renderer/runtime tests cover new visibility/selection behavior, and docs are updated. + + +## Final Summary + + +Implemented keyboard-driven Yomitan workflow end-to-end in renderer + bundled Yomitan runtime bridge. Added overlay-level keyboard mode state, token selection sync, lookup toggle routing, popup command forwarding, and focus recovery after popup close. Added popup-visible detection improvements and CSS/test updates for keyboard-selected tooltip behavior. Updated user docs/README to document fixed keyboard workflow shortcuts. +