Windows Terminal 1.1 breaks WinCompose input #9880

Closed
opened 2026-01-31 02:06:34 +00:00 by claunia · 6 comments
Owner

Originally created by @mordquist on GitHub (Jul 27, 2020).

Environment

Windows build number: 10.0.19041.0
Windows Terminal version (if applicable): 1.1.2021.0

Any other software?
Ubuntu 20.04 LTS (WSL2)
WinCompose v0.9.4 (https://github.com/samhocevar/wincompose/releases/tag/v0.9.4)

Steps to reproduce

  1. Start WinCompose and Windows Terminal (cmd, powershell, or WSL does not matter)
  2. Input any character using the WinCompose compose key
    e.g. rightAlt + o a

Expected behavior

The correct character ('å' in the above example) is sent to the terminal.

Actual behavior

Seemingly no character is sent, at least nothing is displayed.

Probably related to #6309 as setting "experimental.input.forceVT": true gives the expected behavior.

Originally created by @mordquist on GitHub (Jul 27, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: 10.0.19041.0 Windows Terminal version (if applicable): 1.1.2021.0 Any other software? Ubuntu 20.04 LTS (WSL2) WinCompose v0.9.4 (https://github.com/samhocevar/wincompose/releases/tag/v0.9.4) ``` # Steps to reproduce <!-- A description of how to trigger this bug. --> 1. Start WinCompose and Windows Terminal (cmd, powershell, or WSL does not matter) 2. Input any character using the WinCompose compose key e.g. `rightAlt` + `o` `a` # Expected behavior <!-- A description of what you're expecting, possibly containing screenshots or reference material. --> The correct character ('å' in the above example) is sent to the terminal. # Actual behavior <!-- What's actually happening? --> Seemingly no character is sent, at least nothing is displayed. Probably related to #6309 as setting `"experimental.input.forceVT": true` gives the expected behavior.
claunia added the Issue-BugArea-InputNeeds-Tag-FixProduct-TerminalPriority-1 labels 2026-01-31 02:06:34 +00:00
Author
Owner

@DHowett commented on GitHub (Jul 27, 2020):

Huh. This doesn't exactly work in the traditional console either, and it was somewhat of a fluke that it worked in WT. It should, though.

This is what I get if I peek at the key events coming out of WC into the traditional console:

v 001 0010 002a 0000 ^@   00000010
^ 001 0010 002a 0000 ^@   00000000
v 001 0000 0000 00f6 �    00000000
^ 001 00e7 0000 00f6 �    00000000
^ 001 004f 0018 006f o    00000000

and here's what I'm getting over the tap:

␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_

that 255 definitely ain't right

@DHowett commented on GitHub (Jul 27, 2020): Huh. This doesn't exactly work in the traditional console either, and it was somewhat of a fluke that it worked in WT. It _should_, though. This is what I get if I peek at the key events coming out of WC into the traditional console: ``` v 001 0010 002a 0000 ^@ 00000010 ^ 001 0010 002a 0000 ^@ 00000000 v 001 0000 0000 00f6 � 00000000 ^ 001 00e7 0000 00f6 � 00000000 ^ 001 004f 0018 006f o 00000000 ``` and here's what I'm getting over the tap: `␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_` that 255 definitely ain't right
Author
Owner

@samhocevar commented on GitHub (Nov 26, 2020):

So, how should a third-party application send Unicode characters to Windows Terminal if SendInput() no longer works by default?

@samhocevar commented on GitHub (Nov 26, 2020): So, how should a third-party application send Unicode characters to Windows Terminal if `SendInput()` no longer works by default?
Author
Owner

@lhecker commented on GitHub (Nov 26, 2020):

As far as I can see, this issue was fixed in #7900. I'll close this issue for now as WinCompose works just fine on my end with the latest WT version.

The good thing is that I now finally understood, why we've been receiving weird key events, containing invalid scan codes, for third party applications employing SendInput: WT doesn't use TranslateMessage(Ex) properly. (I mean there's a very specific reason it doesn't... Namely the necessity to receive key events even for character keys.)

@lhecker commented on GitHub (Nov 26, 2020): As far as I can see, this issue was fixed in #7900. I'll close this issue for now as WinCompose works just fine on my end with the latest WT version. The good thing is that I now finally understood, why we've been receiving weird key events, containing invalid scan codes, for third party applications employing `SendInput`: WT doesn't use `TranslateMessage(Ex)` properly. (I mean there's a very specific reason it doesn't... Namely the necessity to receive key events even for character keys.)
Author
Owner

@mordquist commented on GitHub (Nov 30, 2020):

I can confirm that it works for me as well on Terminal 1.4 even with "experimental.input.forceVT" unset.

@mordquist commented on GitHub (Nov 30, 2020): I can confirm that it works for me as well on Terminal 1.4 even with `"experimental.input.forceVT"` unset.
Author
Owner

@smooth038 commented on GitHub (Apr 15, 2023):

I don't know if maybe this problem got recently reintroduced, but WinCompose currently does not work with any window terminal on my machine (cmd, powershell or windows terminal). When typing rightAlt ' a, it just outputs 'a and the compose key is ignored.

I tried the "experimental.input.forceVT" setting, but it doesn't seem to do anything.

Can anyone else reproduce this?

@smooth038 commented on GitHub (Apr 15, 2023): I don't know if maybe this problem got recently reintroduced, but WinCompose currently does not work with any window terminal on my machine (cmd, powershell or windows terminal). When typing `rightAlt` `'` `a`, it just outputs `'a` and the compose key is ignored. I tried the `"experimental.input.forceVT"` setting, but it doesn't seem to do anything. Can anyone else reproduce this?
Author
Owner

@smooth038 commented on GitHub (Apr 15, 2023):

I just found the problem. It didn't work because I was running the terminals in administrator mode, but WinCompose did not have admin privileges. When WinCompose is run as admin, everything works fine.

@smooth038 commented on GitHub (Apr 15, 2023): I just found the problem. It didn't work because I was running the terminals in administrator mode, but WinCompose did not have admin privileges. When WinCompose is run as admin, everything works fine.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9880