New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Espanso doesn't work #3840
Comments
Expansion works fine on my setup using espanso defaults:
|
Please run through https://wezfurlong.org/wezterm/troubleshooting.html#debugging-keyboard-related-issues and provide more information. |
Espanso seem to lowercase what actually needs to be expanded. - trigger: ":rp"
replace: "aAbB" when I do this in wezterm, it gets expanded as
wezterm installed as flatpack @ Pop!_OS 22.04 LTS |
I could reproduce this issue, espanso matches do indeed get expanded in lowercase only, when expanding them in wezterm. |
I'm not going to install espanso; I simply don't have the time. |
Nothing got printed out that I could understand. Bunch of DEBUG statements, no ERROR or whatsoever. Thanks |
The debug is for me to understand, rather than you. Without it, I have nothing to act upon. |
I'm using Windows and have the same problem and narrowed down the circumstances. It only happens if I open WezTerm as administrator. But I'm uncertain if this is a problem with WezTerm. The same problem occurs if I'm using
|
Here's another debug log: This log was generated by doing:
espanso's config is the default one with the following match:
|
Can you confirm that it's producing |
@AndydeCleyre yes: |
$ wezterm -e zsh -f &>wez.log # in wezterm, type: :wez3840 `wez.log`
OK, after more fiddling with espanso options, I found that it all seems to work ok if I set
|
didn't help in my case 😞 |
Even with my config, I have now found issues with inputting $ tail -n 4 ~/.config/espanso/match/chars.yml - trigger: ":ten"
replace: Ŧ
- trigger: ":lem"
replace: Ł
wez.log14:21:19.000 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:19.000 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:19.000 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftShift mods=NONE
14:21:19.258 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:19.258 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:19.258 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char(':') mods=SHIFT
14:21:19.258 INFO wezterm_term::terminalstate::keyboard > key_down: sending ":", Char(':') SHIFT
14:21:19.371 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:19.371 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char(':') mods=SHIFT
14:21:19.430 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:19.431 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftShift mods=SHIFT
14:21:19.757 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:19.757 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('t'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:19.757 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('t') mods=NONE
14:21:19.757 INFO wezterm_term::terminalstate::keyboard > key_down: sending "t", Char('t') NONE
14:21:19.876 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('t'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:19.876 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('t') mods=NONE
14:21:19.886 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:19.886 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:19.886 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('e') mods=NONE
14:21:19.886 INFO wezterm_term::terminalstate::keyboard > key_down: sending "e", Char('e') NONE
14:21:20.009 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.009 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('e') mods=NONE
14:21:20.128 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.128 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('n'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.128 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('n') mods=NONE
14:21:20.128 INFO wezterm_term::terminalstate::keyboard > key_down: sending "n", Char('n') NONE
14:21:20.130 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('n'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.130 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('n') mods=NONE
14:21:20.130 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:21:20.131 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.131 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:21:20.131 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:21:20.132 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.132 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:21:20.132 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.132 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.132 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:21:20.132 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:21:20.135 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.135 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:21:20.135 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.135 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.135 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:21:20.135 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:21:20.136 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.136 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:21:20.249 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.249 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.249 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftControl mods=CTRL
14:21:20.250 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.250 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.250 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=RightControl mods=CTRL
14:21:20.260 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:21:20.260 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:21:20.260 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('v') mods=CTRL
14:21:20.260 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{16}", Char('v') CTRL
14:21:20.270 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.270 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftControl mods=CTRL
14:21:20.270 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.270 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=RightControl mods=CTRL
14:21:20.271 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(V), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:21:20.271 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('v') mods=NONE
wez.log14:16:06.604 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:06.604 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:06.604 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftShift mods=NONE
14:16:06.850 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:06.850 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:06.850 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char(':') mods=SHIFT
14:16:06.850 INFO wezterm_term::terminalstate::keyboard > key_down: sending ":", Char(':') SHIFT
14:16:07.004 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.004 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char(':') mods=SHIFT
14:16:07.048 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.048 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftShift mods=SHIFT
14:16:07.189 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(L), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(L), raw_code: 46, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.190 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('l'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(L), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(L), raw_code: 46, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.190 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('l') mods=NONE
14:16:07.190 INFO wezterm_term::terminalstate::keyboard > key_down: sending "l", Char('l') NONE
14:16:07.314 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('l'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(L), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(L), raw_code: 46, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.315 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('l') mods=NONE
14:16:07.330 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.330 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.331 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('e') mods=NONE
14:16:07.331 INFO wezterm_term::terminalstate::keyboard > key_down: sending "e", Char('e') NONE
14:16:07.463 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.463 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('e') mods=NONE
14:16:07.487 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(M), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(M), raw_code: 58, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.487 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('m'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(M), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(M), raw_code: 58, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.487 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('m') mods=NONE
14:16:07.487 INFO wezterm_term::terminalstate::keyboard > key_down: sending "m", Char('m') NONE
14:16:07.489 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('m'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(M), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(M), raw_code: 58, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.489 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('m') mods=NONE
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:16:07.490 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:16:07.490 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.490 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:16:07.491 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:16:07.491 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.491 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:16:07.605 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftControl), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.606 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.606 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftControl mods=NONE
14:16:07.606 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.606 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.606 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=RightControl mods=CTRL
14:16:07.616 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:16:07.616 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:16:07.616 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('v') mods=CTRL
14:16:07.616 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{16}", Char('v') CTRL
14:16:07.631 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.631 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftControl mods=CTRL
14:16:07.631 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.631 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=RightControl mods=CTRL
14:16:07.632 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(V), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:16:07.632 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('v') mods=NONE While pasting the characters manually via ctrl+v does work. |
@AndydeCleyre try starting wezterm like this: $ WEZTERM_LOG=window::os::x11::keyboard=trace,info wezterm --config debug_key_events=true that will log more information about the X11 events being received; then retry your |
Thanks! wez.log14:55:19.892 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:19.892 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "", 65505. kc -> None def_sym=65505
14:55:19.892 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:19.893 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftShift mods=NONE
14:55:20.154 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:20.155 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: ":", 58. kc -> Some(Char(':')) def_sym=59
14:55:20.155 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:20.155 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char(':') mods=SHIFT
14:55:20.155 INFO wezterm_term::terminalstate::keyboard > key_down: sending ":", Char(':') SHIFT
14:55:20.281 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char(':'), modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Semicolon), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(Semicolon), raw_code: 47, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:20.281 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char(':') mods=SHIFT
14:55:20.360 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: SHIFT, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: SHIFT, leds: NUM_LOCK, phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:20.360 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftShift mods=SHIFT
14:55:20.658 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:20.658 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "t", 116. kc -> Some(Char('t')) def_sym=116
14:55:20.658 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('t'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:20.658 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('t') mods=NONE
14:55:20.659 INFO wezterm_term::terminalstate::keyboard > key_down: sending "t", Char('t') NONE
14:55:20.758 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('t'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(T), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(T), raw_code: 28, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:20.759 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('t') mods=NONE
14:55:20.767 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:20.767 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "e", 101. kc -> Some(Char('e')) def_sym=101
14:55:20.767 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:20.767 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('e') mods=NONE
14:55:20.767 INFO wezterm_term::terminalstate::keyboard > key_down: sending "e", Char('e') NONE
14:55:20.878 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('e'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(E), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(E), raw_code: 26, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:20.878 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('e') mods=NONE
14:55:21.034 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.034 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "n", 110. kc -> Some(Char('n')) def_sym=110
14:55:21.034 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('n'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.034 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('n') mods=NONE
14:55:21.034 INFO wezterm_term::terminalstate::keyboard > key_down: sending "n", Char('n') NONE
14:55:21.037 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('n'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(N), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(N), raw_code: 57, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.037 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('n') mods=NONE
14:55:21.037 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.037 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "\u{8}", 65288. kc -> Some(Char('\u{8}')) def_sym=65288
14:55:21.037 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.037 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:55:21.037 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:55:21.038 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.038 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:55:21.038 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.038 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "\u{8}", 65288. kc -> Some(Char('\u{8}')) def_sym=65288
14:55:21.038 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.038 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:55:21.038 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:55:21.047 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.047 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:55:21.047 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.047 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "\u{8}", 65288. kc -> Some(Char('\u{8}')) def_sym=65288
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:55:21.048 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.048 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "\u{8}", 65288. kc -> Some(Char('\u{8}')) def_sym=65288
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Backspace mods=NONE
14:55:21.048 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{7f}", Backspace NONE
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('\u{8}'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(Backspace), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(Backspace), raw_code: 22, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.048 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Backspace mods=NONE
14:55:21.156 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.156 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "", 65507. kc -> None def_sym=65507
14:55:21.156 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.156 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftControl mods=CTRL
14:55:21.173 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.173 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "", 65508. kc -> None def_sym=65508
14:55:21.173 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.173 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=RightControl mods=CTRL
14:55:21.175 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }
14:55:21.175 TRACE window::os::x11::keyboard > process_key_event: RawKeyEvent FeedResult::Nothing: "\u{16}", 118. kc -> None def_sym=118
14:55:21.175 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(V), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
14:55:21.175 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('v') mods=CTRL
14:55:21.175 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{16}", Char('v') CTRL
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(LeftControl), raw_code: 37, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftControl mods=CTRL
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: RightControl, modifiers: CTRL, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(RightControl), modifiers: CTRL, leds: NUM_LOCK, phys_code: Some(RightControl), raw_code: 105, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=RightControl mods=CTRL
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('v'), modifiers: NONE, leds: NUM_LOCK, repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(V), modifiers: NONE, leds: NUM_LOCK, phys_code: Some(V), raw_code: 55, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
14:55:21.186 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('v') mods=NONE |
Do you know why it is sending CTRL-v at the end? Is it trying to paste? Alternatively, you could try adding a keybinding: config.keys = {
{ key = 'v', mods = 'CTRL', action = wezterm.action.PasteFrom 'Clipboard' },
} but note that some terminal programs want CTRL-v to do things, and that key assignment would prevent them from seeing it. |
Yeah, when it uses the Clipboard backend (and often when it uses the default Auto backend it's effectively Clipboard) that's how it's doing the snippet expansion, with an automated paste.
Ahh lemme see . . . yes!
Trying it . . . yes it works! Thanks very much. |
So does that mean that the other folks having problems here in this issue probably also need to change that same config? Could you share a summary of what espanso config working for you in wezterm @AndydeCleyre ? |
So here's my working (AFAICT) espanso config: disable_x11_fast_inject: true
paste_shortcut: "CTRL+SHIFT+V" I'll note that the |
Unfortunately, it didn't help. |
Hello @wez 👋 Trying out Espanso now, and trying to get it to work under wezterm.. My wezterm config uses Ctrl-shift-v to paste, it works when I do it manually, and I get this key event log (I close the window before up events): With Espanso I made a trigger To reproduceWezterm version: Espanso version: OS: Linux X11 File filter_class: org.wezfurlong.wezterm
backend: Clipboard
paste_shortcut: "CTRL+SHIFT+V"
extra_includes:
- "../match/_wezterm.yml" File matches:
- trigger: "!wez"
replace: Yes!123 Run Espanso in foreground using: Run wezterm: |
@bew: Hi! The Others reported that they also needed |
And that works with Good catch on the missing modifiers, but that's weird isn't it?
|
wezterm uses the standard espanso is simulating input for wezterm. It's espanso's responsibility to send appropriate input events in order for xkbdcommon to produce the normal output. I don't know exactly what effect |
I think I've found something: Looking at the xcb event with this diff: diff --git a/window/src/os/x11/keyboard.rs b/window/src/os/x11/keyboard.rs
index 11c37b5dd..cce83ac35 100644
--- a/window/src/os/x11/keyboard.rs
+++ b/window/src/os/x11/keyboard.rs
@@ -174,6 +174,7 @@ impl KeyboardWithFallback {
xcb_ev: &xcb::x::KeyPressEvent,
events: &mut WindowEventSender,
) {
+ dbg!(xcb_ev);
let xcode = xkb::Keycode::from(xcb_ev.detail());
self.process_key_event_impl(xcode, true, events, false);
} The I'm digging |
Ok so the main issue is that key press events sent by Espanso through Option A (change Wezterm, don't change Espanso)
Option B (change Espanso, don't change Wezterm)
What do you think would be the best option to solve this? |
The one that works. I would assume Wezterm. |
This is a working tentative at fixing text expansion/injection done by Espanso by default, where XKB doesn't seem to detect the pressed modifiers `Ctrl+Shift` before pressing `v`. refs: #3840
Hi, I have a very similar issue, triggered on a QMK keyboard. In my case it looked related to ibus and as I can "fix" it by 1. not using ibus 2. using ibus but killing the ibus daemon, I assumed it is an ibus issue so filed a bug report for ibus: ibus/ibus#2600 Do you think it could be a wezterm issue? Happy to re-file the issue here if needed. My issue also happens on wezterm-nightly 20240121-180215-76028ca1 |
I don't think it is a wezterm bug per-se, but rather a weird interaction between ibus, the X server and xkbdcommon that wezterm is sensitive to |
test scenario is: ``` bash -c "sleep 5; for((i=0;i<30;i++)); do xdotool keydown --delay 0 Shift_L keydown --delay 0 9 keyup --delay 0 Shift_L keyup --delay 0 9; done" ``` That should cause a series of `(` characters to be emitted, but prior to this commit is was usually mostly `9`'s. What's changing here is: * We copy the pertinent fields from the last xcb StateNotify event. That ostensibly has the current modifier and layout state, but because it comes from the X server, it doesn't factor in knowledge from the IME. * When processing an XCB key event, compute the current modifier mask and override the XKB state with it. * Now XKB will produce correct information about the key syms * Restore the modifier state from the saved StateNotify information. refs: #4151 refs: #4615 refs: fcitx/fcitx5#893 refs: ibus/ibus#2600 refs: #3840
This should be resolved now in It typically takes about an hour before commits are available as nightly builds for all platforms. Linux builds are the fastest to build and are often available within about 20 minutes. Windows and macOS builds take a bit longer. Please take a few moments to try out the fix and let me know how that works out. You can find the nightly downloads for your system in the wezterm installation docs. If you prefer to use packages provided by your distribution or package manager of choice and don't want to replace that with a nightly download, keep in mind that you can download portable packages (eg: a If you are eager and can build from source then you may be able to try this out more quickly. |
Excellent! As far as I can tell, I no longer need to set |
Can confirm, I don't see the issue anymore with the latest nightly. |
Requires wezterm 20240127-113634-bbcac864 refs: wez/wezterm#3840 and my PR wez/wezterm#4151
For a temporary work-around for those not yet using the latest
|
note that these changes have also been in the most recent couple of releases |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
What Operating System(s) are you seeing this problem on?
Linux X11
Which Wayland compositor or X11 Window manager(s) are you using?
No response
WezTerm version
➜ ~ wezterm -V zsh: command not found: wezterm
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
No, and I'll explain why below
Describe the bug
When using https://espanso.org/ nothing happens, the expansions don't take place. On alacritty, for instance, it works fine.
To Reproduce
When using https://espanso.org/ nothing happens, the expansions don't take place. On alacrity, for instance, it works fine.
Configuration
not important, didn't work even with no config file initially
Expected Behavior
No response
Logs
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: