refactor: normalize keyboard scope handling #324

Closed
opened 2026-05-11 19:20:27 +00:00 by barrettruth · 1 comment
Owner

Parent: #355

Problem

Keyboard behavior is still distributed across global, queue, kanban, calendar, settings, popovers, dialogs, and task-detail handlers. Keymap customization is gone, so the remaining keyboard code should be simpler and explicit about scope, focus rules, browser shortcuts, counts, and operator-style sequences.

Solution

Introduce a shared keyboard scope helper while preserving current fixed bindings:

  • centralize input-focus and browser-shortcut guard behavior
  • make handler registration/scope explicit for dialogs, task panel, calendar, and global navigation
  • keep fixed keymap metadata and shortcut help intact
  • avoid reintroducing customization storage or UI

Acceptance criteria

  • Keyboard handlers share guard and scope rules instead of each reimplementing them.
  • Existing fixed shortcuts keep working.
  • Dialog/task-panel focus behavior does not regress.
  • Tests cover the helper contract and one representative scoped handler.
Parent: #355 ## Problem Keyboard behavior is still distributed across global, queue, kanban, calendar, settings, popovers, dialogs, and task-detail handlers. Keymap customization is gone, so the remaining keyboard code should be simpler and explicit about scope, focus rules, browser shortcuts, counts, and operator-style sequences. ## Solution Introduce a shared keyboard scope helper while preserving current fixed bindings: - centralize input-focus and browser-shortcut guard behavior - make handler registration/scope explicit for dialogs, task panel, calendar, and global navigation - keep fixed keymap metadata and shortcut help intact - avoid reintroducing customization storage or UI ## Acceptance criteria - Keyboard handlers share guard and scope rules instead of each reimplementing them. - Existing fixed shortcuts keep working. - Dialog/task-panel focus behavior does not regress. - Tests cover the helper contract and one representative scoped handler.
barrettruth added this to the v0.1.0 milestone 2026-05-11 19:20:27 +00:00
Author
Owner

Reopening under #355. The first keyboard cleanup closed part of the old tracker, but current main still repeats keyboard scope/guard handling across global, queue, kanban, calendar, settings, and dialogs. This issue now tracks the shared helper follow-up only.

Reopening under #355. The first keyboard cleanup closed part of the old tracker, but current main still repeats keyboard scope/guard handling across global, queue, kanban, calendar, settings, and dialogs. This issue now tracks the shared helper follow-up only.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#324
No description provided.