123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- /*
- * 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 4
- /* 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
- #define XIGrabtypeGesturePinchBegin 5
- #define XIGrabtypeGestureSwipeBegin 6
- /* 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
- #define XIGestureClass 9
- /* 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)
- /* Gesture pinch event flags */
- #define XIGesturePinchEventCancelled (1 << 0)
- /* Gesture swipe event flags */
- #define XIGestureSwipeEventCancelled (1 << 0)
- /* 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_GesturePinchBegin 27 /* XI 2.4 */
- #define XI_GesturePinchUpdate 28
- #define XI_GesturePinchEnd 29
- #define XI_GestureSwipeBegin 30
- #define XI_GestureSwipeUpdate 31
- #define XI_GestureSwipeEnd 32
- #define XI_LASTEVENT XI_GestureSwipeEnd
- /* 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_ */
|