Skip to content

Commit a42c3d6

Browse files
committed
fix(keyboard): let hardcoded handlers run when keybindings don't match
Changed keybinding processor to fall through to hardcoded handlers for Unbound and NoMatch results, rather than consuming unmatched keystrokes. This makes keybindings.json a true customization layer on top of defaults, not a replacement. Allows hardcoded behaviors to work without requiring explicit config entries.
1 parent 386f327 commit a42c3d6

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src-rust/crates/tui/src/app.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3767,9 +3767,11 @@ impl App {
37673767
KeybindingResult::Action(action) => {
37683768
return self.handle_keybinding_action(&action);
37693769
}
3770-
KeybindingResult::Unbound | KeybindingResult::Pending => return false,
3770+
KeybindingResult::Pending => return false,
37713771
KeybindingResult::NoMatch if had_pending_chord => return false,
3772-
KeybindingResult::NoMatch => {}
3772+
KeybindingResult::Unbound | KeybindingResult::NoMatch => {
3773+
// Fall through to hardcoded keybinding handlers
3774+
}
37733775
}
37743776
} else {
37753777
self.keybindings.cancel_chord();

0 commit comments

Comments
 (0)