phg*_*phg 5 window-manager x11 xkb qemu spice
我的设置:带有由 libvirt 管理的 Spice 显示的 Qemu,在 X11 的 Linux 上运行。
\n\n我\xe2\x80\x99m 正在寻找一种方法,以在 Qemu 客户端聚焦时保留窗口管理器和 X 服务器中的键绑定。一个 libvirt 或 Qemu 选项、一个编译标志或一些 X11 魔法 \xe2\x80\x93\nanything。
\n\n一个具体的例子:当我按下按键时,Mod4+1我希望 \nWM 切换到标签1。目前,来宾接收到1输入,而 WM 则没有接收到任何内容。
图形 Qemu 客户端(这里主要是 Windows 客户机,但\n应该\xe2\x80\x99 并不重要)似乎不加区别地获取键盘输入\n甚至绕过 xkb。从这些客户端忽略诸如 之类的选项这一事实中可以明显看出这一点capslock(swapescape)。
这会对窗口管理器造成严重破坏。例如 当我在客户端之间循环时,Qemu\n客户端聚焦时,WM\xe2\x80\x99s 绑定\n将变得无用,直到我通过将鼠标四处移动\n来取消对有问题的客户端的聚焦。不用说,这会破坏任何键盘驱动的工作流程。这\xe2\x80\x99s令人气愤。
\n\n另外,由于输入现在被传递到客户端,因此可能会发生各种\n有趣的事情,具体取决于来宾内部的应用程序选择如何处理这些输入\xe2\x80\xa6
\n\n编辑:上游似乎认为这是所需的行为:\xe2\x80\x9c当我们获得键盘焦点时,我们会抓住键盘,因为我们希望一旦我们获得键盘焦点\xe2\x80\x9d,任何按键都会转到虚拟机\n\xe2\x80\x93 这正是我想要避免的。没有理由\n为什么 Spice 客户端应该有权\n所有键盘输入,而不管他们是否获得焦点。
\n