【问题标题】:SDL2: set input focus on a windowSDL2:在窗口上设置输入焦点
【发布时间】:2015-08-31 16:31:23
【问题描述】:

使用 SDL2,我有一个由两个监视器和两个 SDL 窗口组成的设置。每台显示器都有自己的窗口,设置为全屏模式。

我的目标是一次将键盘输入提供给一个窗口,并允许通过按 Tab 键切换窗口。我的每个窗口都有“键盘焦点”的概念,为此我在 SDL_WINDOWEVENT_FOCUS_GAINED 和 SDL_WINDOWEVENT_FOCUS_LOST 上进行监听。

我遇到的问题是使用 tab 键将输入焦点从一个窗口切换到下一个窗口。 SDL_RaiseWindow() 改变了输入,但它以某种方式完全最小化了另一个窗口。我已经尝试恢复之前的窗口,但没有成功。

如果我要使用鼠标,那么代码可以工作,但我更愿意创建一个热键,允许将键盘从一个窗口重定向到另一个窗口。

【问题讨论】:

    标签: keyboard sdl sdl-2


    【解决方案1】:

    从此 SDL wiki 页面:SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS 听起来默认行为是最小化,但您可以设置此选项以使窗口不最小化。有关如何使用提示,请查看 wiki 上的 CategoryHints,我自己从未使用过它们,但这可能是您想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2012-07-08
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多