godot/thirdparty/linuxbsd_headers/X11/extensions/XI2.h

/*
 * 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
/* DO NOT ADD TO THIS LIST. These are libXi-specific defines.
   See commit libXi-1.4.2-21-ge8531dd */

#define XI_2_Major
#define XI_2_Minor

/* Property event flags */
#define XIPropertyDeleted
#define XIPropertyCreated
#define XIPropertyModified

/* Property modes */
#define XIPropModeReplace
#define XIPropModePrepend
#define XIPropModeAppend

/* Special property type used for XIGetProperty */
#define XIAnyPropertyType

/* Enter/Leave and Focus In/Out modes */
#define XINotifyNormal
#define XINotifyGrab
#define XINotifyUngrab
#define XINotifyWhileGrabbed
#define XINotifyPassiveGrab
#define XINotifyPassiveUngrab

/* Enter/Leave and focus In/out detail */
#define XINotifyAncestor
#define XINotifyVirtual
#define XINotifyInferior
#define XINotifyNonlinear
#define XINotifyNonlinearVirtual
#define XINotifyPointer
#define XINotifyPointerRoot
#define XINotifyDetailNone

/* Grab modes */
#define XIGrabModeSync
#define XIGrabModeAsync
#define XIGrabModeTouch

/* Grab reply status codes */
#define XIGrabSuccess
#define XIAlreadyGrabbed
#define XIGrabInvalidTime
#define XIGrabNotViewable
#define XIGrabFrozen

/* Grab owner events values */
#define XIOwnerEvents
#define XINoOwnerEvents

/* Passive grab types */
#define XIGrabtypeButton
#define XIGrabtypeKeycode
#define XIGrabtypeEnter
#define XIGrabtypeFocusIn
#define XIGrabtypeTouchBegin
#define XIGrabtypeGesturePinchBegin
#define XIGrabtypeGestureSwipeBegin

/* Passive grab modifier */
#define XIAnyModifier
#define XIAnyButton
#define XIAnyKeycode

/* XIAllowEvents event-modes */
#define XIAsyncDevice
#define XISyncDevice
#define XIReplayDevice
#define XIAsyncPairedDevice
#define XIAsyncPair
#define XISyncPair
#define XIAcceptTouch
#define XIRejectTouch

/* DeviceChangedEvent change reasons */
#define XISlaveSwitch
#define XIDeviceChange

/* Hierarchy flags */
#define XIMasterAdded
#define XIMasterRemoved
#define XISlaveAdded
#define XISlaveRemoved
#define XISlaveAttached
#define XISlaveDetached
#define XIDeviceEnabled
#define XIDeviceDisabled

/* ChangeHierarchy constants */
#define XIAddMaster
#define XIRemoveMaster
#define XIAttachSlave
#define XIDetachSlave

#define XIAttachToMaster
#define XIFloating

/* Valuator modes */
#define XIModeRelative
#define XIModeAbsolute

/* Device types */
#define XIMasterPointer
#define XIMasterKeyboard
#define XISlavePointer
#define XISlaveKeyboard
#define XIFloatingSlave

/* Device classes: classes that are not identical to Xi 1.x classes must be
 * numbered starting from 8. */
#define XIKeyClass
#define XIButtonClass
#define XIValuatorClass
#define XIScrollClass
#define XITouchClass
#define XIGestureClass

/* Scroll class types */
#define XIScrollTypeVertical
#define XIScrollTypeHorizontal

/* Scroll class flags */
#define XIScrollFlagNoEmulation
#define XIScrollFlagPreferred

/* Device event flags (common) */
/* Device event flags (key events only) */
#define XIKeyRepeat
/* Device event flags (pointer events only) */
#define XIPointerEmulated
/* Device event flags (touch events only) */
#define XITouchPendingEnd
#define XITouchEmulatingPointer

/* Barrier event flags */
#define XIBarrierPointerReleased
#define XIBarrierDeviceIsGrabbed

/* Gesture pinch event flags */
#define XIGesturePinchEventCancelled

/* Gesture swipe event flags */
#define XIGestureSwipeEventCancelled

/* Touch modes */
#define XIDirectTouch
#define XIDependentTouch

/* XI2 event mask macros */
#define XISetMask(ptr, event)
#define XIClearMask(ptr, event)
#define XIMaskIsSet(ptr, event)
#define XIMaskLen(event)

/* Fake device ID's for event selection */
#define XIAllDevices
#define XIAllMasterDevices

/* Event types */
#define XI_DeviceChanged
#define XI_KeyPress
#define XI_KeyRelease
#define XI_ButtonPress
#define XI_ButtonRelease
#define XI_Motion
#define XI_Enter
#define XI_Leave
#define XI_FocusIn
#define XI_FocusOut
#define XI_HierarchyChanged
#define XI_PropertyEvent
#define XI_RawKeyPress
#define XI_RawKeyRelease
#define XI_RawButtonPress
#define XI_RawButtonRelease
#define XI_RawMotion
#define XI_TouchBegin
#define XI_TouchUpdate
#define XI_TouchEnd
#define XI_TouchOwnership
#define XI_RawTouchBegin
#define XI_RawTouchUpdate
#define XI_RawTouchEnd
#define XI_BarrierHit
#define XI_BarrierLeave
#define XI_GesturePinchBegin
#define XI_GesturePinchUpdate
#define XI_GesturePinchEnd
#define XI_GestureSwipeBegin
#define XI_GestureSwipeUpdate
#define XI_GestureSwipeEnd
#define XI_LASTEVENT
/* 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
#define XI_KeyPressMask
#define XI_KeyReleaseMask
#define XI_ButtonPressMask
#define XI_ButtonReleaseMask
#define XI_MotionMask
#define XI_EnterMask
#define XI_LeaveMask
#define XI_FocusInMask
#define XI_FocusOutMask
#define XI_HierarchyChangedMask
#define XI_PropertyEventMask
#define XI_RawKeyPressMask
#define XI_RawKeyReleaseMask
#define XI_RawButtonPressMask
#define XI_RawButtonReleaseMask
#define XI_RawMotionMask
#define XI_TouchBeginMask
#define XI_TouchEndMask
#define XI_TouchOwnershipChangedMask
#define XI_TouchUpdateMask
#define XI_RawTouchBeginMask
#define XI_RawTouchEndMask
#define XI_RawTouchUpdateMask
#define XI_BarrierHitMask
#define XI_BarrierLeaveMask

#endif /* _XI2_H_ */