contour-terminal / contour

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

Control, Shift + Comma #1588

Open appomsk opened 2 months ago

appomsk commented 2 months ago

Contour Terminal version

0.4.3

Installer source

AUR repository

Operating System

Manjaro

Architecture

x86-64

Other Software

No response

Steps to reproduce

Press <C-S-,>

Expected Behavior

The configuration file opens in a default editor.

Actual Behavior

Nothing happens.

Additional notes

By default in contour.yml the action OpenConfiguration binded to [Control Shift] Comma, but it doesn't work. I can open the configuration file, but only on alternative layout (ru), where the comma is in another place. When I launch neovim in contour and press <C-v><C-S-,> then Neovim insert <C-S-lt>. So I suppose that it is impossible to insert <C-S-,> at all (on the standard english qwerty layout).

Yaraslaut commented 2 months ago

Hi @appomsk, thanks for the bug report, i can repro it, basically the issue is with os handling of Shift+Comma, when i press Shift+Comma i get < character and this is what contour receive from OS Sending Shift|Control "<" Press.

One of the ways to resolve it, is to change keybind to something else by default, for example - { mods: [Control], key: Comma, action: OpenConfiguration }

To fix this issue we have to find a list of shortcuts ( I suppose os specific) and untangle them during input handling, such that we understand that Shift+Comma will appear as < in pty.input