3

其他人在另一个 stackexchange 网站上提出了这个问题,但没有收到任何答案,希望这里的更多流量能得到答案。

我正在运行一个 java gui 应用程序,并且希望当这个应用程序具有焦点时,它会处理所有键盘事件,包括通常会被窗口管理器拦截的那些事件(例如,alt-left 会改变桌面)。我不想手动更改所有相关的快捷方式。

如果没有配置方法来做到这一点,一个可能的解决方案是用 C 编写一个低级 X windows 应用程序,它可以将自己附加到指定的窗口并在窗口管理器之前拦截所有按键,将它们传递到指定的窗口?

4

1 回答 1

1

到目前为止,我最好的解决方案是:

  1. 安装重量非常轻的 wm,例如“twm”:(sudo apt-get install twm)

  2. 启动一个没有 wm 的并发 X 会话:xinit /usr/bin/xterm -- :2

  3. 切换到新的 X 会话:control-alt-F8

  4. 在新会话中在 xterm 中启动 twm:twm &

  5. 运行程序,享受程序快捷方式并开心,使用 control-alt-F7 切换回其他 X 会话

于 2014-02-09T23:01:48.117 回答