Dans la JNA, comment vous associez une structure syndicale comme le XEvent suivant de Xlibstructure syndicale JNA cartographie
typedef union _XEvent {
int type; /* must not be changed */
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} XEvent;
Je veux être en mesure plus tard pour lancer la XEvent dans la JNA à d'autres événements (comme XKeyEvent, XButtonEvent, XMotionEvent ... etc) basé sur le type de l'événement reçu.
Je ne demande pas une cartographie complète pour toutes les structures ci-dessus. Une explication claire avec un petit exemple sur la façon de le faire sera suffisante.
Merci
Avez-vous essayé? J'ai essayé le code dans contrib avec XGrabKeyboard avec XNextEvent. Il renvoie le XEvent et le type est KeyPress/KeyRelease, cependant, quand j'accède au event.xkey.keycode, je reçois toujours zéro quelle que soit la touche enfoncée. Si vous avez essayé avec succès, alors je marquerai votre réponse comme correcte, comme peut-être le problème est ailleurs dans mon code. – Untitled