The problem is this, I, am writing a chip 8 emulator in C, and i am using a library that use Xlib, for writing sprites attending input etc, the method that the library have for wait an input is this:
char gfx_wait(){
XEvent event;
gfx_flush();
while(1) {
    XNextEvent(gfx_display,&event);
    if(event.type==KeyPress) {
        saved_xpos = event.xkey.x;
        saved_ypos = event.xkey.y;
        return XLookupKeysym(&event.xkey,0);
    } else if(event.type==ButtonPress) {
        saved_xpos = event.xkey.x;
        saved_ypos = event.xkey.y;
        return event.xbutton.button;
    }
}
}
when i call this method the program stops waiting for input, I, need a methods that is called just when i press or release a button.
 
                        
I just solve my problem, using this function :
and this is the main :
I, am sure that there is a better way for do this , but you know, It's work...