Skip to content

Commit

Permalink
term: reintroduce possibility of key_up events
Browse files Browse the repository at this point in the history
Nothing generates them right now, and the mux client has no
way to represent them on the wire.

I'm considering constraining them to just win32 for now.

refs: #1509
  • Loading branch information
wez committed Jan 6, 2022
1 parent e39b0b1 commit 763c4d7
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 0 deletions.
4 changes: 4 additions & 0 deletions mux/src/localpane.rs
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,10 @@ impl Pane for LocalPane {
}
}

fn key_up(&self, key: KeyCode, mods: KeyModifiers) -> Result<(), Error> {
self.terminal.borrow_mut().key_up(key, mods)
}

fn resize(&self, size: PtySize) -> Result<(), Error> {
self.pty.borrow_mut().resize(size)?;
self.terminal.borrow_mut().resize(
Expand Down
4 changes: 4 additions & 0 deletions mux/src/pane.rs
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,7 @@ pub trait Pane: Downcast {
/// a zoom-to-fill-all-the-tab-space operation.
fn set_zoomed(&self, _zoomed: bool) {}
fn key_down(&self, key: KeyCode, mods: KeyModifiers) -> anyhow::Result<()>;
fn key_up(&self, key: KeyCode, mods: KeyModifiers) -> anyhow::Result<()>;
fn mouse_event(&self, event: MouseEvent) -> anyhow::Result<()>;
fn perform_actions(&self, _actions: Vec<termwiz::escape::Action>) {}
fn is_dead(&self) -> bool;
Expand Down Expand Up @@ -477,6 +478,9 @@ mod test {
fn key_down(&self, _: KeyCode, _: KeyModifiers) -> anyhow::Result<()> {
unimplemented!()
}
fn key_up(&self, _: KeyCode, _: KeyModifiers) -> anyhow::Result<()> {
unimplemented!()
}
}

#[test]
Expand Down
3 changes: 3 additions & 0 deletions mux/src/tab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1647,6 +1647,9 @@ mod test {
fn key_down(&self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
unimplemented!()
}
fn key_up(&self, _: KeyCode, _: KeyModifiers) -> anyhow::Result<()> {
unimplemented!()
}
fn mouse_event(&self, _event: MouseEvent) -> anyhow::Result<()> {
unimplemented!()
}
Expand Down
4 changes: 4 additions & 0 deletions mux/src/termwiztermtab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,10 @@ impl Pane for TermWizTerminalPane {
Ok(())
}

fn key_up(&self, _key: KeyCode, _modifiers: KeyModifiers) -> anyhow::Result<()> {
Ok(())
}

fn mouse_event(&self, event: MouseEvent) -> anyhow::Result<()> {
use termwiz::input::MouseButtons as Buttons;
use wezterm_term::input::MouseButton;
Expand Down
4 changes: 4 additions & 0 deletions term/src/terminalstate/keyboard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,8 @@ impl TerminalState {

Ok(())
}

pub fn key_up(&mut self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
Ok(())
}
}
5 changes: 5 additions & 0 deletions wezterm-client/src/pane/clientpane.rs
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,11 @@ impl Pane for ClientPane {
Ok(())
}

fn key_up(&self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
// TODO: decide how to handle key_up for mux client
Ok(())
}

fn kill(&self) {
let mut ignore = self.ignore_next_kill.borrow_mut();
if *ignore {
Expand Down
4 changes: 4 additions & 0 deletions wezterm-gui/src/overlay/copy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,10 @@ impl Pane for CopyOverlay {
self.delegate.resize(size)
}

fn key_up(&self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
Ok(())
}

fn key_down(&self, key: KeyCode, mods: KeyModifiers) -> anyhow::Result<()> {
match (key, mods) {
(KeyCode::Char('c'), KeyModifiers::CTRL)
Expand Down
4 changes: 4 additions & 0 deletions wezterm-gui/src/overlay/quickselect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ impl Pane for QuickSelectOverlay {
self.delegate.resize(size)
}

fn key_up(&self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
Ok(())
}

fn key_down(&self, key: KeyCode, mods: KeyModifiers) -> anyhow::Result<()> {
match (key, mods) {
(KeyCode::Escape, KeyModifiers::NONE) => self.renderer.borrow().close(),
Expand Down
4 changes: 4 additions & 0 deletions wezterm-gui/src/overlay/search.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ impl Pane for SearchOverlay {
self.delegate.resize(size)
}

fn key_up(&self, _key: KeyCode, _mods: KeyModifiers) -> anyhow::Result<()> {
Ok(())
}

fn key_down(&self, key: KeyCode, mods: KeyModifiers) -> anyhow::Result<()> {
match (key, mods) {
(KeyCode::Escape, KeyModifiers::NONE) => self.renderer.borrow().close(),
Expand Down

0 comments on commit 763c4d7

Please sign in to comment.