Improve Hotkeys pressed-shortcut filtering #203
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#203
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Hotkeys settings tab has a keyboard capture affordance for filtering the
command list by shortcut, but its current UI adds a separate "Press hotkey"
button beside the input and does not consume all key presses while capture mode
is active.
Problem
The filter input should keep the capture action inside the input affordance and
make capture mode modal enough that typed shortcut attempts do not leak to the
browser, command routing, or the focused input. Captured key chords should filter
the command list by matching shortcuts, and text filtering should still be easy
to clear.
Goal
Improve
hotkeys-settings.svelteso the keyboard icon turns into the activePress hotkeycontrol, capture mode consumes keydown events, completed shortcutcaptures render as removable tags, and text input with content shows a clear
button.
Scope
Non-goals
CommandManagerhotkey persistence or execution semantics.Acceptance Criteria
hotkey mode without showing a separate adjacent "Press hotkey" button.
normal text input, browser defaults, or app command routing.
delete icon, and the command list filters to shortcuts that match the captured
key presses.
and clears only the typed text.
conflict indicators keep working.
Implementation Notes
packages/workspace/src/lib/components/configuration/hotkeys-settings.sveltebefore changing behavior.
otherwise use component-level capture listeners that explicitly prevent and
stop propagation while pressed-hotkey mode is active.
Suggested Files or Specs To Inspect
packages/workspace/src/lib/components/configuration/hotkeys-settings.sveltepackages/workspace/src/lib/components/configuration/*.test.tsspec/src/20-packages/workspace/index.mdspec/src/30-cross-package-contracts/commands-and-keymaps.mdspec/src/30-cross-package-contracts/configuration-and-settings.mdValidation Commands
pnpm --filter @lapis-notes/workspace check:allpnpm test:smokeif the final diff affects app boot or shared runtime routingRelated Issues
Follow-up Tasks
Implementation Summary
Polished the active Hotkeys search capture button to use the primary accent/default button styling while preserving the secondary state for an inactive keyboard filter with tags. Added an E2E assertion for the accent class.
Reopen Reason
Regression polish in the last committed hotkeys capture change: active Press hotkey should use the primary accent button styling.