contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.32k stars 101 forks source link

[Ctrl+arrow] no longer works in some contexts #1411

Closed 0x5c closed 5 months ago

0x5c commented 5 months ago

Contour Terminal version

Contour Terminal Emulator 0.4.1

Installer source

something else (please specify below)

Operating System

VoidLinux

Architecture

x86-64

Other Software

zsh 5.9 micro 2.0.13 contour from voidlinux's package

Steps to reproduce

In zsh, [Ctrl+V] [Up/Down/Left/Right] [Ctrl+V] [Ctrl+Up/Down/Left/Right] The shell receives the same key sequence for both the unmodified and modified arrows. Shell keybinds that use the ctrl-modified arrow keys simply don't fire.

In micro's input debug mode (raw command), typing unmodified and ctrl-modified arrow keys shows the received sequences are different and correct.

Expected Behavior

All programs can receive a ctrl-modified arrow key

Actual Behavior

Some programs receive [Ctrl+Up/Down/Left/Right] as [Up/Down/Left/Right].

Additional notes

Since micro does not use neither modifyOtherKeys nor Kitty's CSI u, the main difference seems to be either raw/normal mode or usage of the alternate buffer.

I was too busy with packaging contour, reporting bugs, testing patches, and requesting features between 0.4.0 and 0.4.1 to notice which one broke it.

christianparpart commented 5 months ago

@0x5c I am very confident that my linked PR also fixed your problem. I'd however still really appreciate if you can confirm that. Otherwise, we'll gladly re-open the ticket again :)