现在,我正在开发 Linux 上的应用程序,并希望捕获键盘布局更改事件(通过 UI/widget/shell/programing 等更改键盘布局)并获取/设置新的键盘布局信息以进一步处理。我认为这不是一个新问题,但我一次又一次地从 stackoverflow 搜索,但没有答案。希望我能在这里得到正确的答案!
我想学习的主要解决方案在这里描述。在 Windows 中,WM_INPUTLANGCHANGE 窗口消息可以在 WinProc 中捕获,其中包含键盘布局信息。我们可以使用 GetKeyboardLayout() API 来获取当前的键盘布局信息。最后,如果我想使用我喜欢的键盘布局,我可以使用 ActivateKeyboardLayout() 来激活键盘布局。
综上所述,我希望在 Linux 中找到通知消息以及如何在代码中捕获消息(最好给我举个例子),Linux 中的获取键盘布局 API 和设置键盘布局 API。开发语言也是C/C++。
提前致谢。