Terminal: Windows Terminal 1.1中断WinCompose输入

创建于 2020-07-27  ·  3评论  ·  资料来源: microsoft/terminal

环境

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)

重现步骤

  1. 启动WinCompose和Windows终端(cmd,powershell或WSL无关紧要)
  2. 使用WinCompose撰写键输入任何字符
    例如rightAlt + o a

预期行为


正确的字符(在上面的示例中为“å”)被发送到终端。

实际行为


似乎没有发送任何字符,至少没有显示任何内容。

可能与#6309相关,因为设置"experimental.input.forceVT": true给出了预期的行为。

Area-Input Issue-Bug Needs-Tag-Fix Priority-1 Product-Terminal

最有用的评论

据我所知,此问题已在#7900中修复。 我现在将关闭此问题,因为WinCompose在最新的WT版本上可以正常工作。

好处是,我现在终于明白了,对于使用SendInput第三方应用程序,为什么我们一直收到包含无效扫描代码的奇怪按键事件:WT无法正确使用TranslateMessage(Ex) 。 (我的意思是有一个非常具体的原因,它没有...也就是说,即使是字符键,也必须接收键事件。)

所有3条评论

嗯这在传统的控制台中也无法正常工作,并且在WT中工作有点偶然。 但是,应该。

这是我从WC看到传统控制台中的关键事件时所得到的:

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

这就是我要克服的问题:

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

255肯定是不对的

因此,如果SendInput()在默认情况下不再起作用,第三方应用程序应如何将Unicode字符发送到Windows终端?

据我所知,此问题已在#7900中修复。 我现在将关闭此问题,因为WinCompose在最新的WT版本上可以正常工作。

好处是,我现在终于明白了,对于使用SendInput第三方应用程序,为什么我们一直收到包含无效扫描代码的奇怪按键事件:WT无法正确使用TranslateMessage(Ex) 。 (我的意思是有一个非常具体的原因,它没有...也就是说,即使是字符键,也必须接收键事件。)

此页面是否有帮助?
0 / 5 - 0 等级