Skip to content

Make interactive keybindings configurable - #389

Merged
Byron merged 1 commit into
mainfrom
configurable-keybindings
Aug 29, 2026
Merged

Make interactive keybindings configurable#389
Byron merged 1 commit into
mainfrom
configurable-keybindings

Conversation

@Byron

@Byron Byron commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Tasks

This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here.

  • refackiew

Everything below this line was generated by Codex GPT-5.

Created by Codex on behalf of Byron. Byron will review before this is ready to merge.

Summary

  • Make every interactive action configurable through per-action arrays under [keys].
  • Preserve all current bindings as defaults and show each one as a commented config show-default template.
  • Route dispatch and visible shortcut hints through the configured bindings, including help, mark, and glob panes.
  • Parse character keys, common named keys, function keys, and Ctrl/Alt/Shift modifiers with cross-platform Shift normalization.

Fixes #171

Validation

  • make check-pre-push
  • Regression coverage for replacement semantics, template/default parity, modifier distinctions, Windows shifted punctuation, pane dispatch, and rendered hints.

@Byron
Byron force-pushed the configurable-keybindings branch from 04daf43 to 4c65fbe Compare August 29, 2026 16:43
@Byron Byron mentioned this pull request Aug 29, 2026
@Byron
Byron force-pushed the configurable-keybindings branch from 7e6efdf to 89b73e6 Compare August 29, 2026 17:40
<!-- agent -->
Interactive shortcuts were hard-coded, preventing users from avoiding terminal
conflicts or adapting the controls to their habits.

Add per-action [keys] arrays whose defaults preserve the existing controls,
route every interactive pane and visible shortcut hint through those settings,
and expose all bindings as commented config show-default templates. Parse common
named keys and modifiers while handling shifted character events consistently
across terminal backends.

Regression coverage verifies that overrides replace only their own defaults,
the documented template round-trips to the built-in defaults, modified shortcuts
remain distinct, and shifted punctuation works on Windows.

Assisted-by: GPT 5.6
Co-authored-by: GPT 5.6 <codex@openai.com>
@Byron
Byron force-pushed the configurable-keybindings branch from 89b73e6 to 707b316 Compare August 29, 2026 18:03
@Byron
Byron marked this pull request as ready for review August 29, 2026 18:04
@Byron
Byron merged commit a54f427 into main Aug 29, 2026
3 checks passed
@Byron
Byron deleted the configurable-keybindings branch August 29, 2026 20:00
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.

configurable keybindings

1 participant