使用 Ctrl-Shift 切换语言可防止使用其他组合,包括 VcXsrv 中的 Ctrl-Shift

使用 Ctrl-Shift 切换语言可防止使用其他组合,包括 VcXsrv 中的 Ctrl-Shift

我正在VcXsrv使用以下命令运行

"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -xkblayout us,ru -xkboptions grp:ctrl_shift_toggle

在这种情况下,我可以通过以下方式切换语言

Ctrl+Shift

但无法发送如下组合

Ctrl+ Shift+F

在 PyCharm 等程序中。如果我使用

"C:\Program Files\VcXsrv\vcxsrv.exe" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl -xkblayout us,ru

然后就会发生相反的情况:我无法切换语言,但可以发送

Ctrl+ Shift+F

组合。

我可以同时做这两件事吗?

答案1

上次我调查时,这是一个来自 X Window 规范的长期问题。如果我没记错的话,规范规定切换必须在按下按键时发生(而不是按键释放,这是 MS Windows 一贯的做法)。出于这个原因,X.Org 维护者拒绝接受修复此行为的补丁。可能一些发行版应用了补丁,但上游没有应用。

解决方法是使用快捷键中未使用的组合。Shift+Caps、Alt+Caps、同时按 Shift、同时按 Ctrl、同时按 Alt 应该有效。请参阅https://unix.stackexchange.com/a/45499/153754获取列表。

相关内容