Warning, file /include/X11/extensions/XInput2.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _XINPUT2_H_
0028 #define _XINPUT2_H_
0029
0030 #include <X11/Xlib.h>
0031 #include <X11/extensions/XI2.h>
0032 #include <X11/extensions/Xge.h>
0033 #include <X11/extensions/Xfixes.h> /* PointerBarrier */
0034
0035
0036
0037
0038 typedef struct {
0039 int type;
0040 char* name;
0041 Bool send_core;
0042 Bool enable;
0043 } XIAddMasterInfo;
0044
0045 typedef struct {
0046 int type;
0047 int deviceid;
0048 int return_mode;
0049 int return_pointer;
0050 int return_keyboard;
0051 } XIRemoveMasterInfo;
0052
0053 typedef struct {
0054 int type;
0055 int deviceid;
0056 int new_master;
0057 } XIAttachSlaveInfo;
0058
0059 typedef struct {
0060 int type;
0061 int deviceid;
0062 } XIDetachSlaveInfo;
0063
0064 typedef union {
0065 int type;
0066 XIAddMasterInfo add;
0067 XIRemoveMasterInfo remove;
0068 XIAttachSlaveInfo attach;
0069 XIDetachSlaveInfo detach;
0070 } XIAnyHierarchyChangeInfo;
0071
0072 typedef struct
0073 {
0074 int base;
0075 int latched;
0076 int locked;
0077 int effective;
0078 } XIModifierState;
0079
0080 typedef XIModifierState XIGroupState;
0081
0082 typedef struct {
0083 int mask_len;
0084 unsigned char *mask;
0085 } XIButtonState;
0086
0087 typedef struct {
0088 int mask_len;
0089 unsigned char *mask;
0090 double *values;
0091 } XIValuatorState;
0092
0093
0094 typedef struct
0095 {
0096 int deviceid;
0097 int mask_len;
0098 unsigned char* mask;
0099 } XIEventMask;
0100
0101 typedef struct
0102 {
0103 int type;
0104 int sourceid;
0105 } XIAnyClassInfo;
0106
0107 typedef struct
0108 {
0109 int type;
0110 int sourceid;
0111 int num_buttons;
0112 Atom *labels;
0113 XIButtonState state;
0114 } XIButtonClassInfo;
0115
0116 typedef struct
0117 {
0118 int type;
0119 int sourceid;
0120 int num_keycodes;
0121 int *keycodes;
0122 } XIKeyClassInfo;
0123
0124 typedef struct
0125 {
0126 int type;
0127 int sourceid;
0128 int number;
0129 Atom label;
0130 double min;
0131 double max;
0132 double value;
0133 int resolution;
0134 int mode;
0135 } XIValuatorClassInfo;
0136
0137
0138 typedef struct
0139 {
0140 int type;
0141 int sourceid;
0142 int number;
0143 int scroll_type;
0144 double increment;
0145 int flags;
0146 } XIScrollClassInfo;
0147
0148 typedef struct
0149 {
0150 int type;
0151 int sourceid;
0152 int mode;
0153 int num_touches;
0154 } XITouchClassInfo;
0155
0156 typedef struct
0157 {
0158 int deviceid;
0159 char *name;
0160 int use;
0161 int attachment;
0162 Bool enabled;
0163 int num_classes;
0164 XIAnyClassInfo **classes;
0165 } XIDeviceInfo;
0166
0167 typedef struct
0168 {
0169 int modifiers;
0170 int status;
0171 } XIGrabModifiers;
0172
0173 typedef unsigned int BarrierEventID;
0174
0175 typedef struct
0176 {
0177 int deviceid;
0178 PointerBarrier barrier;
0179 BarrierEventID eventid;
0180 } XIBarrierReleasePointerInfo;
0181
0182
0183
0184
0185 typedef struct {
0186 int type;
0187 unsigned long serial;
0188 Bool send_event;
0189 Display *display;
0190 int extension;
0191 int evtype;
0192 Time time;
0193 } XIEvent;
0194
0195
0196 typedef struct {
0197 int deviceid;
0198 int attachment;
0199 int use;
0200 Bool enabled;
0201 int flags;
0202 } XIHierarchyInfo;
0203
0204
0205
0206
0207
0208 typedef struct {
0209 int type;
0210 unsigned long serial;
0211 Bool send_event;
0212 Display *display;
0213 int extension;
0214 int evtype;
0215 Time time;
0216 int flags;
0217 int num_info;
0218 XIHierarchyInfo *info;
0219 } XIHierarchyEvent;
0220
0221
0222
0223
0224
0225 typedef struct {
0226 int type;
0227 unsigned long serial;
0228 Bool send_event;
0229 Display *display;
0230 int extension;
0231 int evtype;
0232 Time time;
0233 int deviceid;
0234 int sourceid;
0235 int reason;
0236 int num_classes;
0237 XIAnyClassInfo **classes;
0238 } XIDeviceChangedEvent;
0239
0240 typedef struct {
0241 int type;
0242 unsigned long serial;
0243 Bool send_event;
0244 Display *display;
0245 int extension;
0246 int evtype;
0247 Time time;
0248 int deviceid;
0249 int sourceid;
0250 int detail;
0251 Window root;
0252 Window event;
0253 Window child;
0254 double root_x;
0255 double root_y;
0256 double event_x;
0257 double event_y;
0258 int flags;
0259 XIButtonState buttons;
0260 XIValuatorState valuators;
0261 XIModifierState mods;
0262 XIGroupState group;
0263 } XIDeviceEvent;
0264
0265 typedef struct {
0266 int type;
0267 unsigned long serial;
0268 Bool send_event;
0269 Display *display;
0270 int extension;
0271 int evtype;
0272 Time time;
0273 int deviceid;
0274 int sourceid;
0275 int detail;
0276 int flags;
0277 XIValuatorState valuators;
0278 double *raw_values;
0279 } XIRawEvent;
0280
0281 typedef struct {
0282 int type;
0283 unsigned long serial;
0284 Bool send_event;
0285 Display *display;
0286 int extension;
0287 int evtype;
0288 Time time;
0289 int deviceid;
0290 int sourceid;
0291 int detail;
0292 Window root;
0293 Window event;
0294 Window child;
0295 double root_x;
0296 double root_y;
0297 double event_x;
0298 double event_y;
0299 int mode;
0300 Bool focus;
0301 Bool same_screen;
0302 XIButtonState buttons;
0303 XIModifierState mods;
0304 XIGroupState group;
0305 } XIEnterEvent;
0306
0307 typedef XIEnterEvent XILeaveEvent;
0308 typedef XIEnterEvent XIFocusInEvent;
0309 typedef XIEnterEvent XIFocusOutEvent;
0310
0311 typedef struct {
0312 int type;
0313 unsigned long serial;
0314 Bool send_event;
0315 Display *display;
0316 int extension;
0317 int evtype;
0318 Time time;
0319 int deviceid;
0320 Atom property;
0321 int what;
0322 } XIPropertyEvent;
0323
0324 typedef struct {
0325 int type;
0326 unsigned long serial;
0327 Bool send_event;
0328 Display *display;
0329 int extension;
0330 int evtype;
0331 Time time;
0332 int deviceid;
0333 int sourceid;
0334 unsigned int touchid;
0335 Window root;
0336 Window event;
0337 Window child;
0338 int flags;
0339 } XITouchOwnershipEvent;
0340
0341 typedef struct {
0342 int type;
0343 unsigned long serial;
0344 Bool send_event;
0345 Display *display;
0346 int extension;
0347 int evtype;
0348 Time time;
0349 int deviceid;
0350 int sourceid;
0351 Window event;
0352 Window root;
0353 double root_x;
0354 double root_y;
0355 double dx;
0356 double dy;
0357 int dtime;
0358 int flags;
0359 PointerBarrier barrier;
0360 BarrierEventID eventid;
0361 } XIBarrierEvent;
0362
0363 _XFUNCPROTOBEGIN
0364
0365 extern Bool XIQueryPointer(
0366 Display* display,
0367 int deviceid,
0368 Window win,
0369 Window* root,
0370 Window* child,
0371 double* root_x,
0372 double* root_y,
0373 double* win_x,
0374 double* win_y,
0375 XIButtonState *buttons,
0376 XIModifierState *mods,
0377 XIGroupState *group
0378 );
0379
0380 extern Bool XIWarpPointer(
0381 Display* display,
0382 int deviceid,
0383 Window src_win,
0384 Window dst_win,
0385 double src_x,
0386 double src_y,
0387 unsigned int src_width,
0388 unsigned int src_height,
0389 double dst_x,
0390 double dst_y
0391 );
0392
0393 extern Status XIDefineCursor(
0394 Display* display,
0395 int deviceid,
0396 Window win,
0397 Cursor cursor
0398 );
0399
0400 extern Status XIUndefineCursor(
0401 Display* display,
0402 int deviceid,
0403 Window win
0404 );
0405
0406 extern Status XIChangeHierarchy(
0407 Display* display,
0408 XIAnyHierarchyChangeInfo* changes,
0409 int num_changes
0410 );
0411
0412 extern Status XISetClientPointer(
0413 Display* dpy,
0414 Window win,
0415 int deviceid
0416 );
0417
0418 extern Bool XIGetClientPointer(
0419 Display* dpy,
0420 Window win,
0421 int* deviceid
0422 );
0423
0424 extern int XISelectEvents(
0425 Display* dpy,
0426 Window win,
0427 XIEventMask *masks,
0428 int num_masks
0429 );
0430
0431 extern XIEventMask *XIGetSelectedEvents(
0432 Display* dpy,
0433 Window win,
0434 int *num_masks_return
0435 );
0436
0437 extern Status XIQueryVersion(
0438 Display* dpy,
0439 int* major_version_inout,
0440 int* minor_version_inout
0441 );
0442
0443 extern XIDeviceInfo* XIQueryDevice(
0444 Display* dpy,
0445 int deviceid,
0446 int* ndevices_return
0447 );
0448
0449 extern Status XISetFocus(
0450 Display* dpy,
0451 int deviceid,
0452 Window focus,
0453 Time time
0454 );
0455
0456 extern Status XIGetFocus(
0457 Display* dpy,
0458 int deviceid,
0459 Window *focus_return);
0460
0461 extern Status XIGrabDevice(
0462 Display* dpy,
0463 int deviceid,
0464 Window grab_window,
0465 Time time,
0466 Cursor cursor,
0467 int grab_mode,
0468 int paired_device_mode,
0469 Bool owner_events,
0470 XIEventMask *mask
0471 );
0472
0473 extern Status XIUngrabDevice(
0474 Display* dpy,
0475 int deviceid,
0476 Time time
0477 );
0478
0479 extern Status XIAllowEvents(
0480 Display* display,
0481 int deviceid,
0482 int event_mode,
0483 Time time
0484 );
0485
0486 extern Status XIAllowTouchEvents(
0487 Display* display,
0488 int deviceid,
0489 unsigned int touchid,
0490 Window grab_window,
0491 int event_mode
0492 );
0493
0494 extern int XIGrabButton(
0495 Display* display,
0496 int deviceid,
0497 int button,
0498 Window grab_window,
0499 Cursor cursor,
0500 int grab_mode,
0501 int paired_device_mode,
0502 int owner_events,
0503 XIEventMask *mask,
0504 int num_modifiers,
0505 XIGrabModifiers *modifiers_inout
0506 );
0507
0508 extern int XIGrabKeycode(
0509 Display* display,
0510 int deviceid,
0511 int keycode,
0512 Window grab_window,
0513 int grab_mode,
0514 int paired_device_mode,
0515 int owner_events,
0516 XIEventMask *mask,
0517 int num_modifiers,
0518 XIGrabModifiers *modifiers_inout
0519 );
0520
0521 extern int XIGrabEnter(
0522 Display* display,
0523 int deviceid,
0524 Window grab_window,
0525 Cursor cursor,
0526 int grab_mode,
0527 int paired_device_mode,
0528 int owner_events,
0529 XIEventMask *mask,
0530 int num_modifiers,
0531 XIGrabModifiers *modifiers_inout
0532 );
0533
0534 extern int XIGrabFocusIn(
0535 Display* display,
0536 int deviceid,
0537 Window grab_window,
0538 int grab_mode,
0539 int paired_device_mode,
0540 int owner_events,
0541 XIEventMask *mask,
0542 int num_modifiers,
0543 XIGrabModifiers *modifiers_inout
0544 );
0545
0546 extern int XIGrabTouchBegin(
0547 Display* display,
0548 int deviceid,
0549 Window grab_window,
0550 int owner_events,
0551 XIEventMask *mask,
0552 int num_modifiers,
0553 XIGrabModifiers *modifiers_inout
0554 );
0555
0556 extern Status XIUngrabButton(
0557 Display* display,
0558 int deviceid,
0559 int button,
0560 Window grab_window,
0561 int num_modifiers,
0562 XIGrabModifiers *modifiers
0563 );
0564
0565 extern Status XIUngrabKeycode(
0566 Display* display,
0567 int deviceid,
0568 int keycode,
0569 Window grab_window,
0570 int num_modifiers,
0571 XIGrabModifiers *modifiers
0572 );
0573
0574 extern Status XIUngrabEnter(
0575 Display* display,
0576 int deviceid,
0577 Window grab_window,
0578 int num_modifiers,
0579 XIGrabModifiers *modifiers
0580 );
0581
0582 extern Status XIUngrabFocusIn(
0583 Display* display,
0584 int deviceid,
0585 Window grab_window,
0586 int num_modifiers,
0587 XIGrabModifiers *modifiers
0588 );
0589
0590 extern Status XIUngrabTouchBegin(
0591 Display* display,
0592 int deviceid,
0593 Window grab_window,
0594 int num_modifiers,
0595 XIGrabModifiers *modifiers
0596 );
0597
0598 extern Atom *XIListProperties(
0599 Display* display,
0600 int deviceid,
0601 int *num_props_return
0602 );
0603
0604 extern void XIChangeProperty(
0605 Display* display,
0606 int deviceid,
0607 Atom property,
0608 Atom type,
0609 int format,
0610 int mode,
0611 unsigned char *data,
0612 int num_items
0613 );
0614
0615 extern void
0616 XIDeleteProperty(
0617 Display* display,
0618 int deviceid,
0619 Atom property
0620 );
0621
0622 extern Status
0623 XIGetProperty(
0624 Display* display,
0625 int deviceid,
0626 Atom property,
0627 long offset,
0628 long length,
0629 Bool delete_property,
0630 Atom type,
0631 Atom *type_return,
0632 int *format_return,
0633 unsigned long *num_items_return,
0634 unsigned long *bytes_after_return,
0635 unsigned char **data
0636 );
0637
0638 extern void
0639 XIBarrierReleasePointers(
0640 Display* display,
0641 XIBarrierReleasePointerInfo *barriers,
0642 int num_barriers
0643 );
0644
0645 extern void
0646 XIBarrierReleasePointer(
0647 Display* display,
0648 int deviceid,
0649 PointerBarrier barrier,
0650 BarrierEventID eventid
0651 );
0652
0653 extern void XIFreeDeviceInfo(XIDeviceInfo *info);
0654
0655 _XFUNCPROTOEND
0656
0657 #endif