Skip to content

Commit

Permalink
fix(input): forward unknown keys to active terminal (#501)
Browse files Browse the repository at this point in the history
* fix(input): forward unknown keys to active terminal

* docs(changelog): update change
  • Loading branch information
imsnif authored May 13, 2021
1 parent b93e51c commit 8cdc7fb
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
* Handle pasted text properly (https://github.com/zellij-org/zellij/pull/494)
* Fix default keybinds for tab -> resize mode (https://github.com/zellij-org/zellij/pull/497)
* Terminal compatibility: device reports (https://github.com/zellij-org/zellij/pull/500)
* Forward unknown keys to the active terminal (https://github.com/zellij-org/zellij/pull/501)

## [0.9.0] - 2021-05-11
* Add more functionality to unbinding the default keybindings (https://github.com/zellij-org/zellij/pull/468)
Expand Down
10 changes: 10 additions & 0 deletions src/common/input/handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ impl InputHandler {
self.pasting = true;
} else if unsupported_key == bracketed_paste_end {
self.pasting = false;
} else {
// this is a hack because termion doesn't recognize certain keys
// in this case we just forward it to the terminal
self.handle_unknown_key(raw_bytes);
}
}
termion::event::Event::Mouse(_) => {
Expand All @@ -87,6 +91,12 @@ impl InputHandler {
}
}
}
fn handle_unknown_key(&mut self, raw_bytes: Vec<u8>) {
if self.mode == InputMode::Normal || self.mode == InputMode::Locked {
let action = Action::Write(raw_bytes);
self.dispatch_action(action);
}
}
fn handle_key(&mut self, key: &Key, raw_bytes: Vec<u8>) {
let keybinds = &self.config.keybinds;
if self.pasting {
Expand Down

0 comments on commit 8cdc7fb

Please sign in to comment.