Я хочу отправить 'a' с модификатором Shift в окно (с windowId wid) и ожидать, что оно отправит
заглавная «А». Но он всегда отправляет строчные буквы «а» Я применяю модификатор shift к состоянию ключевого события.
Что мне здесь не хватает?
XKeyEvent xkpe;
xkpe.type = KeyPress;
xkpe.display = disp;
xkpe.window = wid;
xkpe.root = root;
xkpe.subwindow = None;
xkpe.time = CurrentTime;
xkpe.x = 0;
xkpe.y = 0;
Window dummy;
unsigned int mask,dummyUInt;
int ret,dummyInt;
ret = XQueryPointer(xkpe.display, xkpe.window, &dummy, &dummy,
&dummyInt, &dummyInt, &dummyInt, &dummyInt, &mask);
if(ret == 0){
qDebug() << "XTranslateCoordinates unsuccessfull returning early";
return;
}
xkpe.state = mask | ShiftMask;
xkpe.keycode = XKeysymToKeycode(xkpe.display,XK_a);
xkpe.same_screen = True;
ret = XSendEvent(xkpe.display, wid, False, KeyPressMask | KeyReleaseMask, (XEvent *)&xkpe);
Дайте мне знать, поможет ли рабочий код ответить на этот вопрос.