1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//! The declared claim tables, one per dispatch source.
//!
//! Split from the parent module when it crossed the 800-line gate: the
//! parent holds the vocabulary (`Mods`, `ModSpec`, `Chord`, `Claim`) and the
//! precedence chain; this file is the data those describe.
use *;
// The per-overlay state-machine layers (clipboard history, command history,
// paste special, agent usage, palette, search, help) are gone (MP1 Q4): their
// overlays are Popups/Modals in the overlay stack, which consumes every key
// they do not close on before `handle_key_event` runs, so those layers were
// unreachable. Their claim slices were empty — no chord was lost with them.
// The per-profile hotkey layer (`profiles.rs`) is gone too (UX MP3, B59):
// profile shortcuts are registry bindings to `open_profile:<id>`, so they
// arrive through the registry like every other user binding.
// `utility.rs` and `tabs.rs` are gone (UX K2 dissolution): every chord they
// claimed is a registry default in `defaults::menu_chords` /
// `defaults::layer_chords` and arrives in the chain as a
// `config_keybindings` rule.
/// The paste and copy branches inlined at the end of `handle_key_event`.
/// Mirrored. Neither has an `AVAILABLE_ACTIONS` row.
const PASTE_COPY: & = &;
/// macOS application-menu accelerators, from `crate::menu::macos`. Mirrored —
/// that module builds `muda` items directly rather than going through
/// `menu_model` (the Window menu's Minimize is in the model and derived).
/// Quit mirrors the shipped default; the live item takes the registry's
/// `quit` chord.
pub const MACOS_APP_MENU: & = &;
/// The hardcoded dispatch sources that remain, in the order
/// `handle_key_event` consults them: only the inline paste/copy branch, the
/// one deliberate chord exemption.
///
/// Every chord-only layer (scroll, config reload, the UI toggles, utility,
/// tabs) dissolved into registry defaults (`defaults::layer_chords` and
/// `defaults::menu_chords`, UX K2): their chords arrive in the chain as
/// `config_keybindings` rules, derived from the shipped defaults. The
/// per-profile hotkey layer became registry bindings (UX MP3, B59), which
/// removed the `KEY_LAYERS` chain entirely.
pub const LAYER_CLAIMS: & = &;