Commit Graph
9 Commits
Author SHA1 Message Date
aiongg 501e2cf1fc keymap: while typing, text-editing chords go to the text field unless an active context binds them 2026-10-20 15:21:54 +00:00
aiongg 056a709d0f keymap: refuse scope names with outer whitespace, which binding text trims 2026-10-20 15:08:43 +00:00
aiongg 890660444c keymap: use US spelling 2026-10-20 03:24:56 +00:00
aiongg c519b7a856 keymap: split crowded_chords_stay_fast into a small cap test and an ignored worst-case timing test 2026-10-19 21:37:38 +00:00
aiongg 66f22029ba keymap: format the conflicts_with test 2026-10-19 04:25:06 +00:00
aiongg 48c0e1b59d keymap: drop hand-written key variants when a command gets its defaults
reset, and an edit that leaves a command with its defaults, removed
only the entry the command read. A variant of its key
(window.panel { "panel": "layers" }) stayed and took effect on the
next load. Both remove every entry that resolves to the command.
2026-10-19 04:24:19 +00:00
aiongg be51941628 keymap: add Keymap::conflicts_with and document the edit calls
conflicts_with lists the commands that share one command's chords, with
that command as a, without filtering every conflict. The README shows
set_bindings with one binding for an editor with one shortcut per
command; assign adds a binding.
2026-10-19 04:23:26 +00:00
aiongg 5208562c28 keymap: store overrides as a map of one text per command when they fit
Apps that stored { command: text } before read the field in older builds
again. Overrides with several bindings for a command still serialize as
the { command, keys } array. keymap::overrides_list always writes the
array, for craft-settings files, where only an array lets a reset entry
leave the file.
2026-10-19 04:22:49 +00:00
aiongg d6c7b45350 keymap: shared keyboard bindings, scopes, overrides and shortcut-set import
craft-keymap holds the data and logic for keyboard bindings: egui-free
chords with one canonical text form, bindings to commands with params,
several bindings per command, scopes, tool groups, conflicts, overrides
kept in a craft-settings type, an import pipeline for other applications'
shortcut sets, and an optional egui dispatcher. Apps keep their command
catalogue, file readers and UI.
2026-10-19 03:52:23 +00:00