void enviarTecla(int tecla)
{
Display *display = XOpenDisplay(NULL);
XKeyEvent event;
switch (tecla)
{
case Qt::Key_Return:
tecla = XK_Return ;
break;
case Qt::Key_Backspace:
tecla = XK_BackSpace ;
break;
case Qt::Key_Escape:
tecla = XK_Escape;
break;
case Qt::Key_Shift:
tecla = XK_Shift_L ;
break;
case Qt::Key_CapsLock:
tecla = XK_Caps_Lock;
break;
}
int a;
event.display = display;
XGetInputFocus(display,&event.window,&a);
event.root = 0;
event.subwindow = None;
event.time = CurrentTime;
event.x = 1;
event.y = 1;
event.x_root = 1;
event.y_root = 1;
event.same_screen = TRUE;
event.type = KeyPress; //event.type = KeyRelease;
event.keycode = XKeysymToKeycode (display,tecla);
event.state = 0;
XSendEvent(event.display, event.window, TRUE, KeyPressMask, (XEvent *)&event);
event.display = display;
XGetInputFocus(display,&event.window,&a);
event.root = 0;
event.subwindow = None;
event.time = CurrentTime;
event.x = 1;
event.y = 1;
event.x_root = 1;
event.y_root = 1;
event.same_screen = TRUE;
event.type = KeyRelease;
event.keycode = XKeysymToKeycode (display,tecla);
event.state = 0;
XSendEvent(event.display, event.window, TRUE, KeyReleaseMask, (XEvent *)&event);
XCloseDisplay(display);
}
Bookmarks