Skip to content

feat: add adaptive shortcut recording and management - #339

Merged
devmobasa merged 7 commits into
mainfrom
feat/keybinding-recorder-and-shortcut-manager
Aug 15, 2026
Merged

feat: add adaptive shortcut recording and management#339
devmobasa merged 7 commits into
mainfrom
feat/keybinding-recorder-and-shortcut-manager

Conversation

@devmobasa

Copy link
Copy Markdown
Owner

Summary

Overhauls Wayscriber’s keybinding experience while preserving the existing text-based configuration format.

  • Adds click-to-record keyboard shortcuts with an Edit as Text fallback.
  • Supports Super/Meta bindings.
  • Supports auxiliary mouse buttons and stylus barrel buttons.
  • Adds bounded multi-step sequences such as Ctrl+K > Ctrl+C.
  • Adds a bulk shortcut manager with search, filtering, conflict review, source badges, availability indicators, and reset controls.
  • Displays shortcuts as distinct keycaps with separate removal buttons.

Runtime behavior

  • Dispatches recorded keyboard and device shortcuts consistently across the canvas, built-in toolbar, and GTK toolbar.
  • Prevents auxiliary-button actions from firing behind active modals.
  • Handles sequence prefixes, timeouts, shifted punctuation, and key auto-repeat safely.
  • Aligns keypad, non-ASCII, mouse-button, and stylus translation between the configurator and runtime.
  • Preserves compatibility with existing text-authored shortcuts and feature-gated builds.

Configuration safety

  • Keeps edits draft-only until Save.
  • Detects exact, cross-action, and prefix conflicts.
  • Resolves conflicts without discarding unrelated sequence branches or falling back to the complete default keymap.
  • Preserves whether bindings were explicitly authored, including values equal to defaults.
  • Restores clean/default state when an originally omitted binding is edited and then reverted.
  • Keeps invalid text visible and reports field-level validation errors without writing the configuration.

Replace free-form keybinding entry rows with chips, press-to-bind recording,
per-row reset, raw text override, and explicit conflict replacement so users
can edit shortcuts without learning the string syntax.
Parse Super, Meta, Logo, Win, and Windows as one modifier, match it at
runtime from the Wayland logo flag, and record it in the configurator
when the desktop delivers the chord.
Let Back/Forward/Extra mouse buttons and stylus barrels share the
keybinding table so they can be recorded and dispatched without
changing primary drawing buttons or silently dropping legacy tablet
assignments.
Allow Ctrl+K then Ctrl+C style chords so related actions can share a
prefix without delaying existing single shortcuts or surviving focus
and modal boundaries.
Let users filter, sort, and reset many keybindings from one screen while
reusing the existing row editor, recorder, and conflict flow.
…w bugs

Same-action prefix conflicts, swallowed recorder clicks, and mismatched device
button mappings could discard a user's keymap or make sequences impossible to
finish; resolve those so the recorder, conflict UI, and runtime stay usable.
@devmobasa
devmobasa merged commit 840a776 into main Aug 15, 2026
2 checks passed
@devmobasa
devmobasa deleted the feat/keybinding-recorder-and-shortcut-manager branch August 15, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant