Windows 10:Shift+Tab 不起作用

Windows 10:Shift+Tab 不起作用

在 Windows 10 机器上,我发现无法将Shift+发送Tab到(至少某些)应用程序,例如 Notepad++。

我正在通过 VNC 会话远程使用该机器(Xubuntu 下的 Remmina 客户端,Windows 机器正在运行 TightVNC 服务器),我原本的想法是快捷方式由 VNC 客户端或本地操作系统处理,但使用远程 Xubuntu 机器进行了相同的测试发送Shift+Tab通过;例如,我可以在 Xubuntu 的默认文本编辑器 Mousepad 中取消缩进一行。

Windows 10 中是否存在设置或快捷方式导致Shift+Tab远离 Notepad++?

任何有关如何调试此问题的信息也将不胜感激。

答案1

以下解决方案为用户解决了该问题。问题在于Shift+的组合基本上Tab 不是唯一的,在传输到服务器时可能会出错。在非 Linux 和 Linux 计算机之间使用 VNC 时可能会出现此问题。

同样的问题也出现在这篇文章中 使用 Windows VNC 客户端的 Alt-Gr 来访问 vino。尽管始于 2007 年, 丹·温希普 (Dan Winship) 的回答 仍然适用:

问题在于服务器端(运行 vino 的机器)认为 Tab 键上有两个不同的键盘符号(分别是 Tab 和 ISO_Left_Tab),而客户端认为它只有一个键盘符号,因此期望 Shift+Tab 的处理方式与 Shift+Up Arrow 相同。

(我假设客户端是非Linux机器?)

我认为没有“干净”的办法可以解决这个问题;客户端和服务器都表现得合理,这只是协议中的一个缺陷。唯一的解决办法是在代码中对 Tab 键进行特殊处理。如果您想建议这样做,您可能应该提交一个新的错误(并参考此错误中的注释)。

你可以通过运行

xmodmap -e 'keycode 23 = Tab'

(在 vino 盒子上)。这似乎不会干扰普通的 gtk 操作,因此一直这样做可能是安全的。(例如,放入 'keycode 23 = Tab'~/.xmodmap~/.Xmodmap其他东西可能会导致它自动被评估,具体取决于您的发行版)

在最近的帖子中 在 Windows 中使用真正的 VNC 查看器访问 Ubuntu 时,Shift + 特殊键不起作用 使用相同的方法来修复问题:

在 Ubuntu 终端中运行:xmodmap -e 'keycode 23 = Tab'

编辑:使修复永久运行sudo vim /usr/share/X11/xkb/symbols/pc并更改行

key <TAB> { [ Tab, ISO_Left_Tab ] };

key <TAB> { [ Tab ] };

之后重新启动。

相关内容