thebestbr
(usa Ubuntu)
Enviado em 12/01/2011 - 08:19h
Ola pessoal
fiz uma aplicacao q deve funcionar como um acesso remoto, como um vnc bm primitivo, o caso é, concegui gerar os eventos de teclado porem quando tento fazer um alt+f (para abrir a aba files de um programa por exemplo, nao funciona, o alt fica apertado porem ao enviar o f, a letra f eh impressa na tela ao inves de intender q eh um atalho
este eh meu codigo pra gerar o evento:
// captura o X11 display.
Display *display = XOpenDisplay(0);
if(display == NULL)
return -1;
// indica a janela raiz para o display.
Window winRoot = XDefaultRootWindow(display);
// pega a janela que esta em focus do teclado.
Window winFocus;
int revert;
XGetInputFocus(display, &winFocus, &revert);
// envia um falso event de pressionamento de tecla.
if(p==1){
XKeyEvent event = createKeyEvent(display, winFocus, winRoot, true, tecla, 0);
XSendEvent(event.display, event.window, true, KeyPressMask, (XEvent *)&event);
}
// envia um falso event de soltar a tecla.
if(p==0){
XKeyEvent event = createKeyEvent(display, winFocus, winRoot, false, tecla, 0);
XSendEvent(event.display, event.window, true, KeyPressMask, (XEvent *)&event);
}
XCloseDisplay(display);