我想通过编程更改Linux中的键盘布局,这是X11的API函数吗?
我找到了一个好的解决方案。这是Jay Bromley写的c ++类,我可以将其添加到我的应用中并使用它。
源代码
它很容易使用:
#include "XKeyboard.h" XKeyboard xkb; std::string cGrpName=xkb.currentGroupName(); //return somethings like "USA" std::string cGrpSymb=xkb.currentGroupSymbol(); //return somethings like "us" xkb.setGroupByNum(0);//set keyboard layout to first layout in available ones
您可以阅读源代码并找到其他有用的功能。要编译独立版本,您需要取消注释“ XKeyboard.cpp”中存在的“ int main”函数(或编写您自己的main.cpp),并使用如下所示的内容:
g++ *.cpp -o getxkblayout -L/usr/lib -lX11