SDL2 可以捕获全局击键吗?
Can SDL2 capture global keystrokes?
我正在尝试在 C++ 中制作简单的 background/console 工具,它会监听我的击键。 SDL_PollEvent
和 SDL_GetKeyboardState
都不会在外国 window 被聚焦时监听。问题是,如果可以用 SDL2 做到这一点,或者我是否需要使用其他多平台库,或者我应该按照 OS 从头开始做?
注:
现在我想在 linux 上使用这个工具,我设法找到了 libX11 解决方案:Listening to keyboard events without consuming them in X11 - Keyboard hooking.
我认为全局击键捕获不在 SDL 的范围内。
您将不得不使用其他一些特定于平台的方法。对于 Linux 和 Unix,libX11 是选项之一,另一个选项是使用 /dev/input/event#
(参见 here for examples)。
我正在尝试在 C++ 中制作简单的 background/console 工具,它会监听我的击键。 SDL_PollEvent
和 SDL_GetKeyboardState
都不会在外国 window 被聚焦时监听。问题是,如果可以用 SDL2 做到这一点,或者我是否需要使用其他多平台库,或者我应该按照 OS 从头开始做?
注: 现在我想在 linux 上使用这个工具,我设法找到了 libX11 解决方案:Listening to keyboard events without consuming them in X11 - Keyboard hooking.
我认为全局击键捕获不在 SDL 的范围内。
您将不得不使用其他一些特定于平台的方法。对于 Linux 和 Unix,libX11 是选项之一,另一个选项是使用 /dev/input/event#
(参见 here for examples)。