如何处理贪婪键盘的应用程序

如何处理贪婪键盘的应用程序

我遇到了一个非常具体的问题,但是任何帮助都将有助于理解 X 与键盘的关系。

我希望能够在 XBMC 播放音乐的基础上启动 ElectricSheep 程序。我已经设置了启动脚本,并且可以毫无问题地启动 ElectricSheep。

当我尝试关闭它时出现问题。如果我在 XBMC 未运行的情况下启动 ElectricSheep,则按 Esc 键将其关闭。如果 XBMC 正在运行(或者即使我在脚本中包含一行在启动之前杀死 xbmc),它也会获取所有键盘输入,使我从 ElectricSheep 中唯一的路由可以从 ssh 会话中杀死它或杀死 X 本身。

如果我在 XBMC 运行时运行 xev,它不会收到任何输入。

有什么方法可以启动应用程序并显式为其提供 X 键盘吗?谢谢你的帮助!

答案1

取决于哪个应用程序具有“焦点”。我更喜欢“焦点跟随鼠标”,因此无论我的鼠标位于哪个窗口,我的键盘按下都会记录在其中。其他模式包括“单击聚焦”和“鼠标下聚焦”的一些变体。 Microsoft Windows 是“单击焦点”(作为示例),但如果您使用某些tweakui 工具,如果您愿意,您可以获得“焦点跟随鼠标”。

我不确定您的 X-windows 桌面最初处于什么模式,我认为默认情况下通常是“单击焦点”,您必须检查您的,我的鼠标焦点设置位于系统设置中的“窗口行为”下、KDE ​​4.7.4)

我承认我对电子羊(梦幻屏保,对吧?)和 XMBC(媒体中心,IIRC)没有太多经验。这两个应用程序似乎都希望成为全屏应用程序,这可能会因为失去焦点而出现问题。听起来几乎像是 ES 的问题,因为如果它在前台(已接管作为屏幕保护程序......),它应该捕获任何击键并将其用作退出的中止信号,将屏幕返回到其他正在运行的东西。

您可以尝试使用 ALT-TAB 在您正在运行的各种应用程序之间切换,这应该在它们之间旋转焦点,这在某种程度上取决于 XMBC 和 ES 的使用方式,无论是窗口还是全屏。

您可以使用多个程序以命令行方式控制焦点,当然,我已经一片空白......查看我的 /bin 目录和我的笔记来找到它们。几个月前,我为一个项目编写了自己的控制程序,看看我可以通过编程来控制窗口和焦点......

啊,这是一个:

wmctrl,手册页说您可以使用“-R”选项打开一个窗口...

我发现还有另一个更有用,尽管我今天完全不知道它的名字,也许有人会知道我在暗示什么并发布它。不过我会继续寻找,显然我的金发女郎今天很努力。

答案2

作为一种黑客,也许可以运行“贪婪”应用程序赛菲尔或者XVNC或类似的东西,并将其与您实际的 X 服务器分离。通过远程使用它。

更正确的答案可能是重新配置或修复代码,这样“贪婪”的应用程序就不会出现这种情况。

或者,如果应用程序确实要接管屏幕,请找到一种方法将 ES 作为某种插件运行。

相关内容