in src/keyboard_x.cc [293:310]
void readKbState(Display *display, KbState *dst) {
// See https://www.x.org/releases/X11R7.6/doc/libX11/specs/XKB/xkblib.html#determining_keyboard_state
// Get effective group index
XkbStateRec xkbState;
XkbGetState(display, XkbUseCoreKbd, &xkbState);
dst->effective_group_index = xkbState.group;
XkbRF_VarDefsRec vdr;
char *tmp = NULL;
int res = XkbRF_GetNamesProp(display, &tmp, &vdr);
if (res) {
dst->layout = (vdr.layout ? vdr.layout : "");
dst->variant = (vdr.variant ? vdr.variant : "");
} else {
dst->layout = "";
dst->variant = "";
}
}