jesseduffield / jesseduffield/lazygit

Accent composition using modified dead keys not working properly on Windows

Open
#5,920 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
82.4k
Forks
3k
Avg merge
2d 18h
Merged PRs (30d)
19

Description

### Describe the bug

For languages that use diacritics (accents), a common way to type them is to press and release a "dead key" representing the accent, then the base character. To type `é` on the so called "Romanian (Programmers) layout", I type `AltGr-9 e`. In lazygit, this results in `9é`, forcing me to go back and delete the `9` in this case.

### To Reproduce
Steps to reproduce the behavior:

1. Set the keyboard layout to "Romanian (Programmers)"
2. In lazygit, start editing a commit message
3. Type an accented character, like ê, à, or é, using `AltGr` plus the 3, 7, or 9 keys respectively
4. Notice how the "dead key" was inserted
5. If you then type "e", you will get the accented letter as well

### Expected behavior

The dead keys are not supposed to be inserted on their own.

Using non-modified dead keys, like in the "United States-International" layout, one uses `' e` to type `é`, works as expected: I get only the accented character, no apostrophe.

### Version info:

`commit=aee0e40ec1235476e9328678f0f3e2462576b9ae, build date=2026-08-04T07:26:19Z, build source=binaryRelease, version=0.64.0, os=windows, arch=amd64, git version=2.51.0.windows.1`

### Terminal info:

I tried using both the legacy cmd.exe and the modern Windows Terminal (1.24.11911.0). Outside of lazygit, using the same layout and key combinations, both terminals work as expected.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the modified dead-key behavior in lazygit's commit-message editor on Windows, comparing it with the same key sequences in cmd.exe or Windows Terminal. Trace the terminal input handling used by the editor; done means Romanian (Programmers) dead keys compose into the accented character without inserting the standalone digit, while ordinary dead-key layouts continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, go
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.