Open hadronized opened 2 weeks ago
From my initial investigation, I think this is a problem with CSI u
— or similar. Either Wezterm doesn’t send what the app (kakoune) expects, or kakoune doesn’t parse it correctly — or both?
Disabling ESC ]>4;1m
seems to solve the issue; I’m not entirely sure why.
What Operating System(s) are you seeing this problem on?
Linux Wayland
Which Wayland compositor or X11 Window manager(s) are you using?
mutter 46.4
WezTerm version
wezterm 20240812-215703-30345b36
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
Yes, and I updated the version box above to show the version of the nightly that I tried
Describe the bug
In Kakoune, typing numbers on my bépo keyboard layout(
shift + "
for1
for instance) doesn’t do anything as the sent data looks like messed up ("\u{1b}[27;2;48~"
, see the logs).To Reproduce
cargo run --bin wezterm-gui
kak -n
# this prevent loading any user configuration filei0
to enter insert mode and insert a0
.Configuration
no config
Expected Behavior
0
should be inserted in my editor. I tried with Helix and it works, so I’m not completely what’s going on.Logs
00:21:42.326 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: (empty), phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) } 00:21:42.327 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: NONE, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: NONE, leds: (empty), phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: true, handled: Handled(false) }) } 00:21:42.327 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=LeftShift mods=NONE 00:21:42.430 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Physical(K0), modifiers: SHIFT, leds: (empty), phys_code: Some(K0), raw_code: 19, repeat_count: 1, key_is_down: true, handled: Handled(false) } 00:21:42.431 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('0'), modifiers: SHIFT, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Physical(K0), modifiers: SHIFT, leds: (empty), phys_code: Some(K0), raw_code: 19, repeat_count: 1, key_is_down: true, handled: Handled(false) }) } 00:21:42.431 INFO wezterm_gui::termwindow::keyevent > send to pane DOWN key=Char('0') mods=SHIFT 00:21:42.431 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{1b}[27;2;48~", Char('0') SHIFT 00:21:42.486 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('0'), modifiers: SHIFT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(K0), modifiers: SHIFT, leds: (empty), phys_code: Some(K0), raw_code: 19, repeat_count: 1, key_is_down: false, handled: Handled(false) }) } 00:21:42.486 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=Char('0') mods=SHIFT 00:21:42.582 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftShift, modifiers: SHIFT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Physical(LeftShift), modifiers: SHIFT, leds: (empty), phys_code: Some(LeftShift), raw_code: 50, repeat_count: 1, key_is_down: false, handled: Handled(false) }) } 00:21:42.582 INFO wezterm_gui::termwindow::keyevent > send to pane UP key=LeftShift mods=SHIFT
Anything else?
My issue looks very similar to this one but the conversation was locked.