I found one good solution.
It's a c++ class wrriten by Jay Bromley, that I can add to my app and using it.
source code
It's very easy to use:
#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
you can read source code and found some another useful functions.
for compiling standalone version you need to un-comments "int main" function present in "XKeyboard.cpp" (or write your own main.cpp) and use somethings like this:
g++ *.cpp -o getxkblayout -L/usr/lib -lX11
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…