OXIESEC PANEL
- Current Dir:
/
/
usr
/
include
/
X11
/
extensions
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 06:50:32 AM
rwxr-xr-x
📄
EVI.h
1.53 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
EVIproto.h
3.03 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
MITMisc.h
1.7 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
XEVI.h
2.08 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
XI.h
9.59 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XI2.h
10.29 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XI2proto.h
36.64 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XInput.h
35.17 KB
01/23/2017 08:22:47 PM
rw-r--r--
📄
XInput2.h
18.35 KB
01/23/2017 08:22:47 PM
rw-r--r--
📄
XIproto.h
41.62 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XKB.h
27.58 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XKBgeom.h
15.45 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XKBproto.h
30.17 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XKBsrv.h
27.37 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XKBstr.h
19.18 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XLbx.h
1.56 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
XResproto.h
5.37 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XShm.h
3.65 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
XTest.h
3.37 KB
12/06/2016 12:38:08 AM
rw-r--r--
📄
Xag.h
2.32 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
Xcomposite.h
3.75 KB
01/20/2017 05:36:39 AM
rw-r--r--
📄
Xcup.h
1.67 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
Xdamage.h
2.25 KB
08/20/2017 07:25:45 AM
rw-r--r--
📄
Xdbe.h
4.07 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
Xext.h
1.62 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
Xfixes.h
7.41 KB
12/05/2016 06:17:34 PM
rw-r--r--
📄
Xge.h
1.88 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
Xinerama.h
1.92 KB
06/30/2013 11:11:39 PM
rw-r--r--
📄
Xrandr.h
16.72 KB
12/06/2016 11:17:09 PM
rw-r--r--
📄
Xrender.h
12.5 KB
12/05/2016 06:52:42 PM
rw-r--r--
📄
Xv.h
2.96 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XvMC.h
3.54 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
XvMCproto.h
4.77 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
Xvproto.h
12.81 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
ag.h
1.67 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
agproto.h
5.06 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
applewmconst.h
2.83 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
applewmproto.h
8.26 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
bigreqsproto.h
1.91 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
bigreqstr.h
187 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
composite.h
3.06 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
compositeproto.h
5.49 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
cup.h
1.32 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
cupproto.h
3.12 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
damageproto.h
3.64 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
damagewire.h
1.85 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dbe.h
2.11 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dbeproto.h
7.32 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dmx.h
2.32 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dmxproto.h
13.62 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dpms.h
2.11 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
dpmsconst.h
1.67 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dpmsproto.h
4.78 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dri2proto.h
8.68 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dri2tokens.h
2.41 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
dri3proto.h
6.34 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
extutil.h
5.95 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
ge.h
1.74 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
geproto.h
2.36 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
lbx.h
2.18 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
lbxproto.h
25.22 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
mitmiscconst.h
1.47 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
mitmiscproto.h
2.22 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
multibuf.h
5.7 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
multibufconst.h
2.51 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
multibufproto.h
8.79 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
panoramiXext.h
2.83 KB
06/30/2013 11:11:39 PM
rw-r--r--
📄
panoramiXproto.h
5.6 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
presentproto.h
5.62 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
presenttokens.h
3.51 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
randr.h
6.75 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
randrproto.h
27.1 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
record.h
4.63 KB
12/06/2016 12:38:08 AM
rw-r--r--
📄
recordconst.h
2.02 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
recordproto.h
7.71 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
recordstr.h
258 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
render.h
6.77 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
renderproto.h
13.66 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
saver.h
1.86 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
saverproto.h
5.14 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
secur.h
2.09 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
security.h
2.4 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
securproto.h
3.24 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
shape.h
4.04 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
shapeconst.h
1.83 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
shapeproto.h
6.87 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
shapestr.h
252 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
shm.h
1.61 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
shmproto.h
6.2 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
shmstr.h
2.07 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
sync.h
9.45 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
syncconst.h
6.59 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
syncproto.h
11.26 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
syncstr.h
5.48 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
vldXvMC.h
5.29 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
windowswm.h
7 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
windowswmstr.h
5.07 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xcmiscproto.h
3.1 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xcmiscstr.h
185 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86bigfont.h
414 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86bigfproto.h
2.59 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86bigfstr.h
191 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dga.h
369 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dga1const.h
931 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dga1proto.h
4.74 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dga1str.h
191 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dgaconst.h
2.48 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dgaproto.h
7.55 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86dgastr.h
188 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86vm.h
2.06 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86vmode.h
7.44 KB
05/06/2015 12:59:30 PM
rw-r--r--
📄
xf86vmproto.h
16.51 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xf86vmstr.h
185 bytes
04/03/2018 08:19:04 AM
rw-r--r--
📄
xfixesproto.h
13.12 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xfixeswire.h
5.27 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xtestconst.h
1.36 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xtestext1.h
3.62 KB
10/25/2014 07:10:20 AM
rw-r--r--
📄
xtestext1const.h
5.31 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xtestext1proto.h
7.68 KB
04/03/2018 08:19:04 AM
rw-r--r--
📄
xtestproto.h
3.31 KB
04/03/2018 08:19:04 AM
rw-r--r--
Editing: XInput2.h
Close
/* * Copyright © 2009 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. * */ /* Definitions used by the library and client */ #ifndef _XINPUT2_H_ #define _XINPUT2_H_ #include <X11/Xlib.h> #include <X11/extensions/XI2.h> #include <X11/extensions/Xge.h> #include <X11/extensions/Xfixes.h> /* PointerBarrier */ /******************************************************************* * */ typedef struct { int type; char* name; Bool send_core; Bool enable; } XIAddMasterInfo; typedef struct { int type; int deviceid; int return_mode; /* AttachToMaster, Floating */ int return_pointer; int return_keyboard; } XIRemoveMasterInfo; typedef struct { int type; int deviceid; int new_master; } XIAttachSlaveInfo; typedef struct { int type; int deviceid; } XIDetachSlaveInfo; typedef union { int type; /* must be first element */ XIAddMasterInfo add; XIRemoveMasterInfo remove; XIAttachSlaveInfo attach; XIDetachSlaveInfo detach; } XIAnyHierarchyChangeInfo; typedef struct { int base; int latched; int locked; int effective; } XIModifierState; typedef XIModifierState XIGroupState; typedef struct { int mask_len; unsigned char *mask; } XIButtonState; typedef struct { int mask_len; unsigned char *mask; double *values; } XIValuatorState; typedef struct { int deviceid; int mask_len; unsigned char* mask; } XIEventMask; typedef struct { int type; int sourceid; } XIAnyClassInfo; typedef struct { int type; int sourceid; int num_buttons; Atom *labels; XIButtonState state; } XIButtonClassInfo; typedef struct { int type; int sourceid; int num_keycodes; int *keycodes; } XIKeyClassInfo; typedef struct { int type; int sourceid; int number; Atom label; double min; double max; double value; int resolution; int mode; } XIValuatorClassInfo; /* new in XI 2.1 */ typedef struct { int type; int sourceid; int number; int scroll_type; double increment; int flags; } XIScrollClassInfo; typedef struct { int type; int sourceid; int mode; int num_touches; } XITouchClassInfo; typedef struct { int deviceid; char *name; int use; int attachment; Bool enabled; int num_classes; XIAnyClassInfo **classes; } XIDeviceInfo; typedef struct { int modifiers; int status; } XIGrabModifiers; typedef unsigned int BarrierEventID; typedef struct { int deviceid; PointerBarrier barrier; BarrierEventID eventid; } XIBarrierReleasePointerInfo; /** * Generic XI2 event. All XI2 events have the same header. */ typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; Time time; } XIEvent; typedef struct { int deviceid; int attachment; int use; Bool enabled; int flags; } XIHierarchyInfo; /* * Notifies the client that the device hierarchy has been changed. The client * is expected to re-query the server for the device hierarchy. */ typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; /* XI_HierarchyChanged */ Time time; int flags; int num_info; XIHierarchyInfo *info; } XIHierarchyEvent; /* * Notifies the client that the classes have been changed. This happens when * the slave device that sends through the master changes. */ typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; /* XI_DeviceChanged */ Time time; int deviceid; /* id of the device that changed */ int sourceid; /* Source for the new classes. */ int reason; /* Reason for the change */ int num_classes; XIAnyClassInfo **classes; /* same as in XIDeviceInfo */ } XIDeviceChangedEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; Time time; int deviceid; int sourceid; int detail; Window root; Window event; Window child; double root_x; double root_y; double event_x; double event_y; int flags; XIButtonState buttons; XIValuatorState valuators; XIModifierState mods; XIGroupState group; } XIDeviceEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; /* XI_RawKeyPress, XI_RawKeyRelease, etc. */ Time time; int deviceid; int sourceid; /* Bug: Always 0. https://bugs.freedesktop.org//show_bug.cgi?id=34240 */ int detail; int flags; XIValuatorState valuators; double *raw_values; } XIRawEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; Time time; int deviceid; int sourceid; int detail; Window root; Window event; Window child; double root_x; double root_y; double event_x; double event_y; int mode; Bool focus; Bool same_screen; XIButtonState buttons; XIModifierState mods; XIGroupState group; } XIEnterEvent; typedef XIEnterEvent XILeaveEvent; typedef XIEnterEvent XIFocusInEvent; typedef XIEnterEvent XIFocusOutEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; /* XI_PropertyEvent */ Time time; int deviceid; /* id of the device that changed */ Atom property; int what; } XIPropertyEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; Time time; int deviceid; int sourceid; unsigned int touchid; Window root; Window event; Window child; int flags; } XITouchOwnershipEvent; typedef struct { int type; /* GenericEvent */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ int extension; /* XI extension offset */ int evtype; Time time; int deviceid; int sourceid; Window event; Window root; double root_x; double root_y; double dx; double dy; int dtime; int flags; PointerBarrier barrier; BarrierEventID eventid; } XIBarrierEvent; _XFUNCPROTOBEGIN extern Bool XIQueryPointer( Display* display, int deviceid, Window win, Window* root, Window* child, double* root_x, double* root_y, double* win_x, double* win_y, XIButtonState *buttons, XIModifierState *mods, XIGroupState *group ); extern Bool XIWarpPointer( Display* display, int deviceid, Window src_win, Window dst_win, double src_x, double src_y, unsigned int src_width, unsigned int src_height, double dst_x, double dst_y ); extern Status XIDefineCursor( Display* display, int deviceid, Window win, Cursor cursor ); extern Status XIUndefineCursor( Display* display, int deviceid, Window win ); extern Status XIChangeHierarchy( Display* display, XIAnyHierarchyChangeInfo* changes, int num_changes ); extern Status XISetClientPointer( Display* dpy, Window win, int deviceid ); extern Bool XIGetClientPointer( Display* dpy, Window win, int* deviceid ); extern int XISelectEvents( Display* dpy, Window win, XIEventMask *masks, int num_masks ); extern XIEventMask *XIGetSelectedEvents( Display* dpy, Window win, int *num_masks_return ); extern Status XIQueryVersion( Display* dpy, int* major_version_inout, int* minor_version_inout ); extern XIDeviceInfo* XIQueryDevice( Display* dpy, int deviceid, int* ndevices_return ); extern Status XISetFocus( Display* dpy, int deviceid, Window focus, Time time ); extern Status XIGetFocus( Display* dpy, int deviceid, Window *focus_return); extern Status XIGrabDevice( Display* dpy, int deviceid, Window grab_window, Time time, Cursor cursor, int grab_mode, int paired_device_mode, Bool owner_events, XIEventMask *mask ); extern Status XIUngrabDevice( Display* dpy, int deviceid, Time time ); extern Status XIAllowEvents( Display* display, int deviceid, int event_mode, Time time ); extern Status XIAllowTouchEvents( Display* display, int deviceid, unsigned int touchid, Window grab_window, int event_mode ); extern int XIGrabButton( Display* display, int deviceid, int button, Window grab_window, Cursor cursor, int grab_mode, int paired_device_mode, int owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout ); extern int XIGrabKeycode( Display* display, int deviceid, int keycode, Window grab_window, int grab_mode, int paired_device_mode, int owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout ); extern int XIGrabEnter( Display* display, int deviceid, Window grab_window, Cursor cursor, int grab_mode, int paired_device_mode, int owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout ); extern int XIGrabFocusIn( Display* display, int deviceid, Window grab_window, int grab_mode, int paired_device_mode, int owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout ); extern int XIGrabTouchBegin( Display* display, int deviceid, Window grab_window, int owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout ); extern Status XIUngrabButton( Display* display, int deviceid, int button, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers ); extern Status XIUngrabKeycode( Display* display, int deviceid, int keycode, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers ); extern Status XIUngrabEnter( Display* display, int deviceid, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers ); extern Status XIUngrabFocusIn( Display* display, int deviceid, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers ); extern Status XIUngrabTouchBegin( Display* display, int deviceid, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers ); extern Atom *XIListProperties( Display* display, int deviceid, int *num_props_return ); extern void XIChangeProperty( Display* display, int deviceid, Atom property, Atom type, int format, int mode, unsigned char *data, int num_items ); extern void XIDeleteProperty( Display* display, int deviceid, Atom property ); extern Status XIGetProperty( Display* display, int deviceid, Atom property, long offset, long length, Bool delete_property, Atom type, Atom *type_return, int *format_return, unsigned long *num_items_return, unsigned long *bytes_after_return, unsigned char **data ); extern void XIBarrierReleasePointers( Display* display, XIBarrierReleasePointerInfo *barriers, int num_barriers ); extern void XIBarrierReleasePointer( Display* display, int deviceid, PointerBarrier barrier, BarrierEventID eventid ); extern void XIFreeDeviceInfo(XIDeviceInfo *info); _XFUNCPROTOEND #endif /* XINPUT2_H */