void XxWindow::HandleEvent (const XEvent &WinEvent) { switch (WinEvent.type) { case ClientMessage: if (WinEvent.xclient.format == 32) { const long *l = WinEvent.xclient.data.l; if (*l == (long)GetWmDeleteWindow ()) OnDelete (); }; break; case Expose: OnExpose ( WinEvent.xexpose.x , WinEvent.xexpose.y , WinEvent.xexpose.width , WinEvent.xexpose.height ); break; case ButtonPress: OnButtonPress ( WinEvent.xbutton.button , WinEvent.xbutton.x , WinEvent.xbutton.y ); break; case ButtonRelease: OnButtonRelease ( WinEvent.xbutton.button , WinEvent.xbutton.x , WinEvent.xbutton.y ); break; case EnterNotify: OnEnterWindow ( WinEvent.xcrossing.x , WinEvent.xcrossing.y ); break; case LeaveNotify: OnLeaveWindow ( WinEvent.xcrossing.x , WinEvent.xcrossing.y ); break; case ResizeRequest: OnResize ( WinEvent.xresizerequest.width , WinEvent.xresizerequest.height ); break; default: break; }; };
void CHardwareLayer::timerEvent(QTimerEvent *ev) { if(ev->timerId()==timerKeyJoy) { struct input_event ev; //-F- Button check pollfd pollStruct = {fdKey,POLLIN,0}; while(poll(&pollStruct,1,0)) { if(read (fdKey, &ev, sizeof(ev))==sizeof(ev)) { if(ev.value) { OnButtonPress(); isButtonDown=true; } else { OnButtonRelease(); isButtonDown=false; } } } //-F- Joystick check pollStruct.fd=fdJoy; while(poll(&pollStruct,1,0)) { struct input_event ev; if(read (fdJoy, &ev, sizeof(ev))==sizeof(ev)) { emit OnRotaryMoved(ev.value,isButtonDown); } } } }