mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-07 04:58:14 +02:00
Merge inputproto
This commit is contained in:
commit
9d789aad0c
15 changed files with 8945 additions and 0 deletions
78
.gitignore
vendored
Normal file
78
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
#
|
||||
# X.Org module default exclusion patterns
|
||||
# The next section if for module specific patterns
|
||||
#
|
||||
# Do not edit the following section
|
||||
# GNU Build System (Autotools)
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
autoscan.log
|
||||
ChangeLog
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config-ml.in
|
||||
config.py
|
||||
config.status
|
||||
config.status.lineno
|
||||
config.sub
|
||||
configure
|
||||
configure.scan
|
||||
depcomp
|
||||
.deps/
|
||||
INSTALL
|
||||
install-sh
|
||||
.libs/
|
||||
libtool
|
||||
libtool.m4
|
||||
ltmain.sh
|
||||
lt~obsolete.m4
|
||||
ltoptions.m4
|
||||
ltsugar.m4
|
||||
ltversion.m4
|
||||
Makefile
|
||||
Makefile.in
|
||||
mdate-sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
*.pc
|
||||
py-compile
|
||||
stamp-h?
|
||||
symlink-tree
|
||||
texinfo.tex
|
||||
ylwrap
|
||||
|
||||
# Do not edit the following section
|
||||
# Edit Compile Debug Document Distribute
|
||||
*~
|
||||
*.[0-9]
|
||||
*.[0-9]x
|
||||
*.bak
|
||||
*.bin
|
||||
core
|
||||
*.dll
|
||||
*.exe
|
||||
*-ISO*.bdf
|
||||
*-JIS*.bdf
|
||||
*-KOI8*.bdf
|
||||
*.kld
|
||||
*.ko
|
||||
*.ko.cmd
|
||||
*.lai
|
||||
*.l[oa]
|
||||
*.[oa]
|
||||
*.obj
|
||||
*.patch
|
||||
*.so
|
||||
*.pcf.gz
|
||||
*.pdb
|
||||
*.tar.bz2
|
||||
*.tar.gz
|
||||
#
|
||||
# Add & Override patterns for inputproto
|
||||
#
|
||||
# Edit the following section as needed
|
||||
# For example, !report.pc overrides *.pc. See 'man gitignore'
|
||||
#
|
||||
63
COPYING
Normal file
63
COPYING
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
Copyright 1989, 1998 The Open Group
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation.
|
||||
|
||||
The above copyright notice and this permission notice 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
|
||||
OPEN GROUP 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.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Hewlett-Packard not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
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.
|
||||
|
||||
24
Makefile.am
Normal file
24
Makefile.am
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
SUBDIRS = specs
|
||||
|
||||
inputdir = $(includedir)/X11/extensions
|
||||
input_HEADERS = \
|
||||
XI.h \
|
||||
XIproto.h \
|
||||
XI2.h \
|
||||
XI2proto.h
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = inputproto.pc
|
||||
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
$(INSTALL_CMD)
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
30
README
Normal file
30
README
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
X Input Extension
|
||||
|
||||
This extension defines a protocol to provide additional input devices
|
||||
management such as graphic tablets.
|
||||
|
||||
Extension name: XInputExtension
|
||||
|
||||
All questions regarding this software should be directed at the
|
||||
Xorg mailing list:
|
||||
|
||||
http://lists.freedesktop.org/mailman/listinfo/xorg
|
||||
|
||||
Please submit bug reports to the Xorg bugzilla:
|
||||
|
||||
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
|
||||
The master development code repository can be found at:
|
||||
|
||||
git://anongit.freedesktop.org/git/xorg/proto/inputproto
|
||||
|
||||
http://cgit.freedesktop.org/xorg/proto/inputproto
|
||||
|
||||
For patch submission instructions, see:
|
||||
|
||||
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
|
||||
|
||||
For more information on the git code manager, see:
|
||||
|
||||
http://wiki.x.org/wiki/GitPage
|
||||
|
||||
308
XI.h
Normal file
308
XI.h
Normal file
|
|
@ -0,0 +1,308 @@
|
|||
/************************************************************
|
||||
|
||||
Copyright 1989, 1998 The Open Group
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation.
|
||||
|
||||
The above copyright notice and this permission notice 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
|
||||
OPEN GROUP 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.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of Hewlett-Packard not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
|
||||
/* Definitions used by the server, library and client */
|
||||
|
||||
#ifndef _XI_H_
|
||||
#define _XI_H_
|
||||
|
||||
#define sz_xGetExtensionVersionReq 8
|
||||
#define sz_xGetExtensionVersionReply 32
|
||||
#define sz_xListInputDevicesReq 4
|
||||
#define sz_xListInputDevicesReply 32
|
||||
#define sz_xOpenDeviceReq 8
|
||||
#define sz_xOpenDeviceReply 32
|
||||
#define sz_xCloseDeviceReq 8
|
||||
#define sz_xSetDeviceModeReq 8
|
||||
#define sz_xSetDeviceModeReply 32
|
||||
#define sz_xSelectExtensionEventReq 12
|
||||
#define sz_xGetSelectedExtensionEventsReq 8
|
||||
#define sz_xGetSelectedExtensionEventsReply 32
|
||||
#define sz_xChangeDeviceDontPropagateListReq 12
|
||||
#define sz_xGetDeviceDontPropagateListReq 8
|
||||
#define sz_xGetDeviceDontPropagateListReply 32
|
||||
#define sz_xGetDeviceMotionEventsReq 16
|
||||
#define sz_xGetDeviceMotionEventsReply 32
|
||||
#define sz_xChangeKeyboardDeviceReq 8
|
||||
#define sz_xChangeKeyboardDeviceReply 32
|
||||
#define sz_xChangePointerDeviceReq 8
|
||||
#define sz_xChangePointerDeviceReply 32
|
||||
#define sz_xGrabDeviceReq 20
|
||||
#define sz_xGrabDeviceReply 32
|
||||
#define sz_xUngrabDeviceReq 12
|
||||
#define sz_xGrabDeviceKeyReq 20
|
||||
#define sz_xGrabDeviceKeyReply 32
|
||||
#define sz_xUngrabDeviceKeyReq 16
|
||||
#define sz_xGrabDeviceButtonReq 20
|
||||
#define sz_xGrabDeviceButtonReply 32
|
||||
#define sz_xUngrabDeviceButtonReq 16
|
||||
#define sz_xAllowDeviceEventsReq 12
|
||||
#define sz_xGetDeviceFocusReq 8
|
||||
#define sz_xGetDeviceFocusReply 32
|
||||
#define sz_xSetDeviceFocusReq 16
|
||||
#define sz_xGetFeedbackControlReq 8
|
||||
#define sz_xGetFeedbackControlReply 32
|
||||
#define sz_xChangeFeedbackControlReq 12
|
||||
#define sz_xGetDeviceKeyMappingReq 8
|
||||
#define sz_xGetDeviceKeyMappingReply 32
|
||||
#define sz_xChangeDeviceKeyMappingReq 8
|
||||
#define sz_xGetDeviceModifierMappingReq 8
|
||||
#define sz_xSetDeviceModifierMappingReq 8
|
||||
#define sz_xSetDeviceModifierMappingReply 32
|
||||
#define sz_xGetDeviceButtonMappingReq 8
|
||||
#define sz_xGetDeviceButtonMappingReply 32
|
||||
#define sz_xSetDeviceButtonMappingReq 8
|
||||
#define sz_xSetDeviceButtonMappingReply 32
|
||||
#define sz_xQueryDeviceStateReq 8
|
||||
#define sz_xQueryDeviceStateReply 32
|
||||
#define sz_xSendExtensionEventReq 16
|
||||
#define sz_xDeviceBellReq 8
|
||||
#define sz_xSetDeviceValuatorsReq 8
|
||||
#define sz_xSetDeviceValuatorsReply 32
|
||||
#define sz_xGetDeviceControlReq 8
|
||||
#define sz_xGetDeviceControlReply 32
|
||||
#define sz_xChangeDeviceControlReq 8
|
||||
#define sz_xChangeDeviceControlReply 32
|
||||
#define sz_xListDevicePropertiesReq 8
|
||||
#define sz_xListDevicePropertiesReply 32
|
||||
#define sz_xChangeDevicePropertyReq 20
|
||||
#define sz_xDeleteDevicePropertyReq 12
|
||||
#define sz_xGetDevicePropertyReq 24
|
||||
#define sz_xGetDevicePropertyReply 32
|
||||
|
||||
#define INAME "XInputExtension"
|
||||
|
||||
#define XI_KEYBOARD "KEYBOARD"
|
||||
#define XI_MOUSE "MOUSE"
|
||||
#define XI_TABLET "TABLET"
|
||||
#define XI_TOUCHSCREEN "TOUCHSCREEN"
|
||||
#define XI_TOUCHPAD "TOUCHPAD"
|
||||
#define XI_BARCODE "BARCODE"
|
||||
#define XI_BUTTONBOX "BUTTONBOX"
|
||||
#define XI_KNOB_BOX "KNOB_BOX"
|
||||
#define XI_ONE_KNOB "ONE_KNOB"
|
||||
#define XI_NINE_KNOB "NINE_KNOB"
|
||||
#define XI_TRACKBALL "TRACKBALL"
|
||||
#define XI_QUADRATURE "QUADRATURE"
|
||||
#define XI_ID_MODULE "ID_MODULE"
|
||||
#define XI_SPACEBALL "SPACEBALL"
|
||||
#define XI_DATAGLOVE "DATAGLOVE"
|
||||
#define XI_EYETRACKER "EYETRACKER"
|
||||
#define XI_CURSORKEYS "CURSORKEYS"
|
||||
#define XI_FOOTMOUSE "FOOTMOUSE"
|
||||
#define XI_JOYSTICK "JOYSTICK"
|
||||
|
||||
/* Indices into the versions[] array (XExtInt.c). Used as a index to
|
||||
* retrieve the minimum version of XI from _XiCheckExtInit */
|
||||
#define Dont_Check 0
|
||||
#define XInput_Initial_Release 1
|
||||
#define XInput_Add_XDeviceBell 2
|
||||
#define XInput_Add_XSetDeviceValuators 3
|
||||
#define XInput_Add_XChangeDeviceControl 4
|
||||
#define XInput_Add_DevicePresenceNotify 5
|
||||
#define XInput_Add_DeviceProperties 6
|
||||
/* DO NOT ADD TO HERE -> XI2 */
|
||||
|
||||
#define XI_Absent 0
|
||||
#define XI_Present 1
|
||||
|
||||
#define XI_Initial_Release_Major 1
|
||||
#define XI_Initial_Release_Minor 0
|
||||
|
||||
#define XI_Add_XDeviceBell_Major 1
|
||||
#define XI_Add_XDeviceBell_Minor 1
|
||||
|
||||
#define XI_Add_XSetDeviceValuators_Major 1
|
||||
#define XI_Add_XSetDeviceValuators_Minor 2
|
||||
|
||||
#define XI_Add_XChangeDeviceControl_Major 1
|
||||
#define XI_Add_XChangeDeviceControl_Minor 3
|
||||
|
||||
#define XI_Add_DevicePresenceNotify_Major 1
|
||||
#define XI_Add_DevicePresenceNotify_Minor 4
|
||||
|
||||
#define XI_Add_DeviceProperties_Major 1
|
||||
#define XI_Add_DeviceProperties_Minor 5
|
||||
|
||||
#define DEVICE_RESOLUTION 1
|
||||
#define DEVICE_ABS_CALIB 2
|
||||
#define DEVICE_CORE 3
|
||||
#define DEVICE_ENABLE 4
|
||||
#define DEVICE_ABS_AREA 5
|
||||
|
||||
#define NoSuchExtension 1
|
||||
|
||||
#define COUNT 0
|
||||
#define CREATE 1
|
||||
|
||||
#define NewPointer 0
|
||||
#define NewKeyboard 1
|
||||
|
||||
#define XPOINTER 0
|
||||
#define XKEYBOARD 1
|
||||
|
||||
#define UseXKeyboard 0xFF
|
||||
|
||||
#define IsXPointer 0
|
||||
#define IsXKeyboard 1
|
||||
#define IsXExtensionDevice 2
|
||||
#define IsXExtensionKeyboard 3
|
||||
#define IsXExtensionPointer 4
|
||||
|
||||
#define AsyncThisDevice 0
|
||||
#define SyncThisDevice 1
|
||||
#define ReplayThisDevice 2
|
||||
#define AsyncOtherDevices 3
|
||||
#define AsyncAll 4
|
||||
#define SyncAll 5
|
||||
|
||||
#define FollowKeyboard 3
|
||||
#ifndef RevertToFollowKeyboard
|
||||
#define RevertToFollowKeyboard 3
|
||||
#endif
|
||||
|
||||
#define DvAccelNum (1L << 0)
|
||||
#define DvAccelDenom (1L << 1)
|
||||
#define DvThreshold (1L << 2)
|
||||
|
||||
#define DvKeyClickPercent (1L<<0)
|
||||
#define DvPercent (1L<<1)
|
||||
#define DvPitch (1L<<2)
|
||||
#define DvDuration (1L<<3)
|
||||
#define DvLed (1L<<4)
|
||||
#define DvLedMode (1L<<5)
|
||||
#define DvKey (1L<<6)
|
||||
#define DvAutoRepeatMode (1L<<7)
|
||||
|
||||
#define DvString (1L << 0)
|
||||
|
||||
#define DvInteger (1L << 0)
|
||||
|
||||
#define DeviceMode (1L << 0)
|
||||
#define Relative 0
|
||||
#define Absolute 1
|
||||
|
||||
#define ProximityState (1L << 1)
|
||||
#define InProximity (0L << 1)
|
||||
#define OutOfProximity (1L << 1)
|
||||
|
||||
#define AddToList 0
|
||||
#define DeleteFromList 1
|
||||
|
||||
#define KeyClass 0
|
||||
#define ButtonClass 1
|
||||
#define ValuatorClass 2
|
||||
#define FeedbackClass 3
|
||||
#define ProximityClass 4
|
||||
#define FocusClass 5
|
||||
#define OtherClass 6
|
||||
#define AttachClass 7
|
||||
|
||||
#define KbdFeedbackClass 0
|
||||
#define PtrFeedbackClass 1
|
||||
#define StringFeedbackClass 2
|
||||
#define IntegerFeedbackClass 3
|
||||
#define LedFeedbackClass 4
|
||||
#define BellFeedbackClass 5
|
||||
|
||||
#define _devicePointerMotionHint 0
|
||||
#define _deviceButton1Motion 1
|
||||
#define _deviceButton2Motion 2
|
||||
#define _deviceButton3Motion 3
|
||||
#define _deviceButton4Motion 4
|
||||
#define _deviceButton5Motion 5
|
||||
#define _deviceButtonMotion 6
|
||||
#define _deviceButtonGrab 7
|
||||
#define _deviceOwnerGrabButton 8
|
||||
#define _noExtensionEvent 9
|
||||
|
||||
#define _devicePresence 0
|
||||
|
||||
#define _deviceEnter 0
|
||||
#define _deviceLeave 1
|
||||
|
||||
/* Device presence notify states */
|
||||
#define DeviceAdded 0
|
||||
#define DeviceRemoved 1
|
||||
#define DeviceEnabled 2
|
||||
#define DeviceDisabled 3
|
||||
#define DeviceUnrecoverable 4
|
||||
#define DeviceControlChanged 5
|
||||
|
||||
/* XI Errors */
|
||||
#define XI_BadDevice 0
|
||||
#define XI_BadEvent 1
|
||||
#define XI_BadMode 2
|
||||
#define XI_DeviceBusy 3
|
||||
#define XI_BadClass 4
|
||||
|
||||
/*
|
||||
* Make XEventClass be a CARD32 for 64 bit servers. Don't affect client
|
||||
* definition of XEventClass since that would be a library interface change.
|
||||
* See the top of X.h for more _XSERVER64 magic.
|
||||
*
|
||||
* But, don't actually use the CARD32 type. We can't get it defined here
|
||||
* without polluting the namespace.
|
||||
*/
|
||||
#ifdef _XSERVER64
|
||||
typedef unsigned int XEventClass;
|
||||
#else
|
||||
typedef unsigned long XEventClass;
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
*
|
||||
* Extension version structure.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int present;
|
||||
short major_version;
|
||||
short minor_version;
|
||||
} XExtensionVersion;
|
||||
|
||||
#endif /* _XI_H_ */
|
||||
245
XI2.h
Normal file
245
XI2.h
Normal file
|
|
@ -0,0 +1,245 @@
|
|||
/*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _XI2_H_
|
||||
#define _XI2_H_
|
||||
|
||||
#define XInput_2_0 7
|
||||
/* DO NOT ADD TO THIS LIST. These are libXi-specific defines.
|
||||
See commit libXi-1.4.2-21-ge8531dd */
|
||||
|
||||
#define XI_2_Major 2
|
||||
#define XI_2_Minor 3
|
||||
|
||||
/* Property event flags */
|
||||
#define XIPropertyDeleted 0
|
||||
#define XIPropertyCreated 1
|
||||
#define XIPropertyModified 2
|
||||
|
||||
/* Property modes */
|
||||
#define XIPropModeReplace 0
|
||||
#define XIPropModePrepend 1
|
||||
#define XIPropModeAppend 2
|
||||
|
||||
/* Special property type used for XIGetProperty */
|
||||
#define XIAnyPropertyType 0L
|
||||
|
||||
/* Enter/Leave and Focus In/Out modes */
|
||||
#define XINotifyNormal 0
|
||||
#define XINotifyGrab 1
|
||||
#define XINotifyUngrab 2
|
||||
#define XINotifyWhileGrabbed 3
|
||||
#define XINotifyPassiveGrab 4
|
||||
#define XINotifyPassiveUngrab 5
|
||||
|
||||
/* Enter/Leave and focus In/out detail */
|
||||
#define XINotifyAncestor 0
|
||||
#define XINotifyVirtual 1
|
||||
#define XINotifyInferior 2
|
||||
#define XINotifyNonlinear 3
|
||||
#define XINotifyNonlinearVirtual 4
|
||||
#define XINotifyPointer 5
|
||||
#define XINotifyPointerRoot 6
|
||||
#define XINotifyDetailNone 7
|
||||
|
||||
/* Grab modes */
|
||||
#define XIGrabModeSync 0
|
||||
#define XIGrabModeAsync 1
|
||||
#define XIGrabModeTouch 2
|
||||
|
||||
/* Grab reply status codes */
|
||||
#define XIGrabSuccess 0
|
||||
#define XIAlreadyGrabbed 1
|
||||
#define XIGrabInvalidTime 2
|
||||
#define XIGrabNotViewable 3
|
||||
#define XIGrabFrozen 4
|
||||
|
||||
/* Grab owner events values */
|
||||
#define XIOwnerEvents True
|
||||
#define XINoOwnerEvents False
|
||||
|
||||
/* Passive grab types */
|
||||
#define XIGrabtypeButton 0
|
||||
#define XIGrabtypeKeycode 1
|
||||
#define XIGrabtypeEnter 2
|
||||
#define XIGrabtypeFocusIn 3
|
||||
#define XIGrabtypeTouchBegin 4
|
||||
|
||||
/* Passive grab modifier */
|
||||
#define XIAnyModifier (1U << 31)
|
||||
#define XIAnyButton 0
|
||||
#define XIAnyKeycode 0
|
||||
|
||||
/* XIAllowEvents event-modes */
|
||||
#define XIAsyncDevice 0
|
||||
#define XISyncDevice 1
|
||||
#define XIReplayDevice 2
|
||||
#define XIAsyncPairedDevice 3
|
||||
#define XIAsyncPair 4
|
||||
#define XISyncPair 5
|
||||
#define XIAcceptTouch 6
|
||||
#define XIRejectTouch 7
|
||||
|
||||
/* DeviceChangedEvent change reasons */
|
||||
#define XISlaveSwitch 1
|
||||
#define XIDeviceChange 2
|
||||
|
||||
/* Hierarchy flags */
|
||||
#define XIMasterAdded (1 << 0)
|
||||
#define XIMasterRemoved (1 << 1)
|
||||
#define XISlaveAdded (1 << 2)
|
||||
#define XISlaveRemoved (1 << 3)
|
||||
#define XISlaveAttached (1 << 4)
|
||||
#define XISlaveDetached (1 << 5)
|
||||
#define XIDeviceEnabled (1 << 6)
|
||||
#define XIDeviceDisabled (1 << 7)
|
||||
|
||||
/* ChangeHierarchy constants */
|
||||
#define XIAddMaster 1
|
||||
#define XIRemoveMaster 2
|
||||
#define XIAttachSlave 3
|
||||
#define XIDetachSlave 4
|
||||
|
||||
#define XIAttachToMaster 1
|
||||
#define XIFloating 2
|
||||
|
||||
/* Valuator modes */
|
||||
#define XIModeRelative 0
|
||||
#define XIModeAbsolute 1
|
||||
|
||||
/* Device types */
|
||||
#define XIMasterPointer 1
|
||||
#define XIMasterKeyboard 2
|
||||
#define XISlavePointer 3
|
||||
#define XISlaveKeyboard 4
|
||||
#define XIFloatingSlave 5
|
||||
|
||||
/* Device classes: classes that are not identical to Xi 1.x classes must be
|
||||
* numbered starting from 8. */
|
||||
#define XIKeyClass 0
|
||||
#define XIButtonClass 1
|
||||
#define XIValuatorClass 2
|
||||
#define XIScrollClass 3
|
||||
#define XITouchClass 8
|
||||
|
||||
/* Scroll class types */
|
||||
#define XIScrollTypeVertical 1
|
||||
#define XIScrollTypeHorizontal 2
|
||||
|
||||
/* Scroll class flags */
|
||||
#define XIScrollFlagNoEmulation (1 << 0)
|
||||
#define XIScrollFlagPreferred (1 << 1)
|
||||
|
||||
/* Device event flags (common) */
|
||||
/* Device event flags (key events only) */
|
||||
#define XIKeyRepeat (1 << 16)
|
||||
/* Device event flags (pointer events only) */
|
||||
#define XIPointerEmulated (1 << 16)
|
||||
/* Device event flags (touch events only) */
|
||||
#define XITouchPendingEnd (1 << 16)
|
||||
#define XITouchEmulatingPointer (1 << 17)
|
||||
|
||||
/* Barrier event flags */
|
||||
#define XIBarrierPointerReleased (1 << 0)
|
||||
#define XIBarrierDeviceIsGrabbed (1 << 1)
|
||||
|
||||
|
||||
/* Touch modes */
|
||||
#define XIDirectTouch 1
|
||||
#define XIDependentTouch 2
|
||||
|
||||
/* XI2 event mask macros */
|
||||
#define XISetMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] |= (1 << ((event) & 7)))
|
||||
#define XIClearMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] &= ~(1 << ((event) & 7)))
|
||||
#define XIMaskIsSet(ptr, event) (((unsigned char*)(ptr))[(event)>>3] & (1 << ((event) & 7)))
|
||||
#define XIMaskLen(event) (((event) >> 3) + 1)
|
||||
|
||||
/* Fake device ID's for event selection */
|
||||
#define XIAllDevices 0
|
||||
#define XIAllMasterDevices 1
|
||||
|
||||
/* Event types */
|
||||
#define XI_DeviceChanged 1
|
||||
#define XI_KeyPress 2
|
||||
#define XI_KeyRelease 3
|
||||
#define XI_ButtonPress 4
|
||||
#define XI_ButtonRelease 5
|
||||
#define XI_Motion 6
|
||||
#define XI_Enter 7
|
||||
#define XI_Leave 8
|
||||
#define XI_FocusIn 9
|
||||
#define XI_FocusOut 10
|
||||
#define XI_HierarchyChanged 11
|
||||
#define XI_PropertyEvent 12
|
||||
#define XI_RawKeyPress 13
|
||||
#define XI_RawKeyRelease 14
|
||||
#define XI_RawButtonPress 15
|
||||
#define XI_RawButtonRelease 16
|
||||
#define XI_RawMotion 17
|
||||
#define XI_TouchBegin 18 /* XI 2.2 */
|
||||
#define XI_TouchUpdate 19
|
||||
#define XI_TouchEnd 20
|
||||
#define XI_TouchOwnership 21
|
||||
#define XI_RawTouchBegin 22
|
||||
#define XI_RawTouchUpdate 23
|
||||
#define XI_RawTouchEnd 24
|
||||
#define XI_BarrierHit 25 /* XI 2.3 */
|
||||
#define XI_BarrierLeave 26
|
||||
#define XI_LASTEVENT XI_BarrierLeave
|
||||
/* NOTE: XI2LASTEVENT in xserver/include/inputstr.h must be the same value
|
||||
* as XI_LASTEVENT if the server is supposed to handle masks etc. for this
|
||||
* type of event. */
|
||||
|
||||
/* Event masks.
|
||||
* Note: the protocol spec defines a mask to be of (1 << type). Clients are
|
||||
* free to create masks by bitshifting instead of using these defines.
|
||||
*/
|
||||
#define XI_DeviceChangedMask (1 << XI_DeviceChanged)
|
||||
#define XI_KeyPressMask (1 << XI_KeyPress)
|
||||
#define XI_KeyReleaseMask (1 << XI_KeyRelease)
|
||||
#define XI_ButtonPressMask (1 << XI_ButtonPress)
|
||||
#define XI_ButtonReleaseMask (1 << XI_ButtonRelease)
|
||||
#define XI_MotionMask (1 << XI_Motion)
|
||||
#define XI_EnterMask (1 << XI_Enter)
|
||||
#define XI_LeaveMask (1 << XI_Leave)
|
||||
#define XI_FocusInMask (1 << XI_FocusIn)
|
||||
#define XI_FocusOutMask (1 << XI_FocusOut)
|
||||
#define XI_HierarchyChangedMask (1 << XI_HierarchyChanged)
|
||||
#define XI_PropertyEventMask (1 << XI_PropertyEvent)
|
||||
#define XI_RawKeyPressMask (1 << XI_RawKeyPress)
|
||||
#define XI_RawKeyReleaseMask (1 << XI_RawKeyRelease)
|
||||
#define XI_RawButtonPressMask (1 << XI_RawButtonPress)
|
||||
#define XI_RawButtonReleaseMask (1 << XI_RawButtonRelease)
|
||||
#define XI_RawMotionMask (1 << XI_RawMotion)
|
||||
#define XI_TouchBeginMask (1 << XI_TouchBegin)
|
||||
#define XI_TouchEndMask (1 << XI_TouchEnd)
|
||||
#define XI_TouchOwnershipChangedMask (1 << XI_TouchOwnership)
|
||||
#define XI_TouchUpdateMask (1 << XI_TouchUpdate)
|
||||
#define XI_RawTouchBeginMask (1 << XI_RawTouchBegin)
|
||||
#define XI_RawTouchEndMask (1 << XI_RawTouchEnd)
|
||||
#define XI_RawTouchUpdateMask (1 << XI_RawTouchUpdate)
|
||||
#define XI_BarrierHitMask (1 << XI_BarrierHit)
|
||||
#define XI_BarrierLeaveMask (1 << XI_BarrierLeave)
|
||||
|
||||
#endif /* _XI2_H_ */
|
||||
1091
XI2proto.h
Normal file
1091
XI2proto.h
Normal file
File diff suppressed because it is too large
Load diff
17
autogen.sh
Executable file
17
autogen.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname "$0"`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
ORIGDIR=`pwd`
|
||||
cd "$srcdir"
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
cd "$ORIGDIR" || exit $?
|
||||
|
||||
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
|
||||
git config --local format.subjectPrefix "PATCH inputproto"
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
exec "$srcdir"/configure "$@"
|
||||
fi
|
||||
16
configure.ac
Normal file
16
configure.ac
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
AC_PREREQ([2.60])
|
||||
AC_INIT([InputProto], [2.3.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
# Require xorg-macros: XORG_WITH_ASCIIDOC
|
||||
m4_ifndef([XORG_MACROS_VERSION],
|
||||
[m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.10)
|
||||
XORG_DEFAULT_OPTIONS
|
||||
XORG_ENABLE_SPECS
|
||||
XORG_WITH_ASCIIDOC(8.4.5)
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
specs/Makefile
|
||||
inputproto.pc])
|
||||
AC_OUTPUT
|
||||
9
inputproto.pc.in
Normal file
9
inputproto.pc.in
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: InputProto
|
||||
Description: Input extension headers
|
||||
Version: @PACKAGE_VERSION@
|
||||
Cflags: -I${includedir}
|
||||
1
specs/.gitignore
vendored
Normal file
1
specs/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.html
|
||||
14
specs/Makefile.am
Normal file
14
specs/Makefile.am
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
if ENABLE_SPECS
|
||||
if HAVE_ASCIIDOC
|
||||
|
||||
doc_DATA = XI2proto.html XIproto.html
|
||||
dist_doc_DATA = XI2proto.txt XIproto.txt
|
||||
|
||||
%.html: %.txt
|
||||
$(AM_V_GEN)TZ=UTC $(ASCIIDOC) -o $@ $<
|
||||
|
||||
CLEANFILES = $(doc_DATA)
|
||||
|
||||
endif
|
||||
endif
|
||||
2715
specs/XI2proto.txt
Normal file
2715
specs/XI2proto.txt
Normal file
File diff suppressed because it is too large
Load diff
2576
specs/XIproto.txt
Normal file
2576
specs/XIproto.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue