# ************************************* # Generated from <X11/extensions/XI2.h> # ************************************* from xi import libXi export libXi const XInput_2_0* = 7 ## DO NOT ADD TO THIS LIST. These are libXi-specific defines. ## See commit libXi-1.4.2-21-ge8531dd const XI_2_Major* = 2 XI_2_Minor* = 3 ## Property event flags const XIPropertyDeleted* = 0 XIPropertyCreated* = 1 XIPropertyModified* = 2 ## Property modes const XIPropModeReplace* = 0 XIPropModePrepend* = 1 XIPropModeAppend* = 2 ## Special property type used for XIGetProperty const XIAnyPropertyType* = 0 ## Enter/Leave and Focus In/Out modes const XINotifyNormal* = 0 XINotifyGrab* = 1 XINotifyUngrab* = 2 XINotifyWhileGrabbed* = 3 XINotifyPassiveGrab* = 4 XINotifyPassiveUngrab* = 5 ## Enter/Leave and focus In/out detail const XINotifyAncestor* = 0 XINotifyVirtual* = 1 XINotifyInferior* = 2 XINotifyNonlinear* = 3 XINotifyNonlinearVirtual* = 4 XINotifyPointer* = 5 XINotifyPointerRoot* = 6 XINotifyDetailNone* = 7 ## Grab modes const XIGrabModeSync* = 0 XIGrabModeAsync* = 1 XIGrabModeTouch* = 2 ## Grab reply status codes const XIGrabSuccess* = 0 XIAlreadyGrabbed* = 1 XIGrabInvalidTime* = 2 XIGrabNotViewable* = 3 XIGrabFrozen* = 4 ## Grab owner events values const XIOwnerEvents* = true XINoOwnerEvents* = false ## Passive grab types const XIGrabtypeButton* = 0 XIGrabtypeKeycode* = 1 XIGrabtypeEnter* = 2 XIGrabtypeFocusIn* = 3 XIGrabtypeTouchBegin* = 4 ## Passive grab modifier const XIAnyModifier* = (1 shl 31) XIAnyButton* = 0 XIAnyKeycode* = 0 ## XIAllowEvents event-modes const XIAsyncDevice* = 0 XISyncDevice* = 1 XIReplayDevice* = 2 XIAsyncPairedDevice* = 3 XIAsyncPair* = 4 XISyncPair* = 5 XIAcceptTouch* = 6 XIRejectTouch* = 7 ## DeviceChangedEvent change reasons const XISlaveSwitch* = 1 XIDeviceChange* = 2 ## Hierarchy flags const XIMasterAdded* = (1 shl 0) XIMasterRemoved* = (1 shl 1) XISlaveAdded* = (1 shl 2) XISlaveRemoved* = (1 shl 3) XISlaveAttached* = (1 shl 4) XISlaveDetached* = (1 shl 5) XIDeviceEnabled* = (1 shl 6) XIDeviceDisabled* = (1 shl 7) ## ChangeHierarchy constants const XIAddMaster* = 1 XIRemoveMaster* = 2 XIAttachSlave* = 3 XIDetachSlave* = 4 XIAttachToMaster* = 1 XIFloating* = 2 ## Valuator modes const XIModeRelative* = 0 XIModeAbsolute* = 1 ## Device types const XIMasterPointer* = 1 XIMasterKeyboard* = 2 XISlavePointer* = 3 XISlaveKeyboard* = 4 XIFloatingSlave* = 5 ## Device classes: classes that are not identical to Xi 1.x classes must be ## numbered starting from 8. const XIKeyClass* = 0 XIButtonClass* = 1 XIValuatorClass* = 2 XIScrollClass* = 3 XITouchClass* = 8 ## Scroll class types const XIScrollTypeVertical* = 1 XIScrollTypeHorizontal* = 2 ## Scroll class flags const XIScrollFlagNoEmulation* = (1 shl 0) XIScrollFlagPreferred* = (1 shl 1) ## Device event flags (common) ## Device event flags (key events only) const XIKeyRepeat* = (1 shl 16) ## Device event flags (pointer events only) const XIPointerEmulated* = (1 shl 16) ## Device event flags (touch events only) const XITouchPendingEnd* = (1 shl 16) XITouchEmulatingPointer* = (1 shl 17) ## Barrier event flags const XIBarrierPointerReleased* = (1 shl 0) XIBarrierDeviceIsGrabbed* = (1 shl 1) ## Touch modes const XIDirectTouch* = 1 XIDependentTouch* = 2 ## XI2 event mask macros type XIMask = ptr UncheckedArray[uint8] template XISetMask*(mask: pointer, event: untyped): untyped = ((cast[XIMask]((mask)))[(event) shr 3] = (cast[XIMask]((mask)))[ (event) shr 3] or (1 shl ((event) and 7))) template XIClearMask*(mask: pointer, event: untyped): untyped = ((cast[XIMask]((mask)))[(event) shr 3] = (cast[XIMask]((mask)))[ (event) shr 3] and not (1 shl ((event) and 7))) template XIMaskIsSet*(mask: pointer, event: untyped): untyped = ((cast[XIMask]((mask)))[(event) shr 3].int and (1 shl ((event) and 7))) template XIMaskLen*(event: untyped): untyped = (((event) shr 3) + 1) ## Fake device ID's for event selection const XIAllDevices* = 0 XIAllMasterDevices* = 1 ## Event types const XI_DeviceChanged* = 1 XI_KeyPress* = 2 XI_KeyRelease* = 3 XI_ButtonPress* = 4 XI_ButtonRelease* = 5 XI_Motion* = 6 XI_Enter* = 7 XI_Leave* = 8 XI_FocusIn* = 9 XI_FocusOut* = 10 XI_HierarchyChanged* = 11 XI_PropertyEvent* = 12 XI_RawKeyPress* = 13 XI_RawKeyRelease* = 14 XI_RawButtonPress* = 15 XI_RawButtonRelease* = 16 XI_RawMotion* = 17 XI_TouchBegin* = 18 XI_TouchUpdate* = 19 XI_TouchEnd* = 20 XI_TouchOwnership* = 21 XI_RawTouchBegin* = 22 XI_RawTouchUpdate* = 23 XI_RawTouchEnd* = 24 XI_BarrierHit* = 25 XI_BarrierLeave* = 26 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. ## const XI_DeviceChangedMask* = (1 shl XI_DeviceChanged) XI_KeyPressMask* = (1 shl XI_KeyPress) XI_KeyReleaseMask* = (1 shl XI_KeyRelease) XI_ButtonPressMask* = (1 shl XI_ButtonPress) XI_ButtonReleaseMask* = (1 shl XI_ButtonRelease) XI_MotionMask* = (1 shl XI_Motion) XI_EnterMask* = (1 shl XI_Enter) XI_LeaveMask* = (1 shl XI_Leave) XI_FocusInMask* = (1 shl XI_FocusIn) XI_FocusOutMask* = (1 shl XI_FocusOut) XI_HierarchyChangedMask* = (1 shl XI_HierarchyChanged) XI_PropertyEventMask* = (1 shl XI_PropertyEvent) XI_RawKeyPressMask* = (1 shl XI_RawKeyPress) XI_RawKeyReleaseMask* = (1 shl XI_RawKeyRelease) XI_RawButtonPressMask* = (1 shl XI_RawButtonPress) XI_RawButtonReleaseMask* = (1 shl XI_RawButtonRelease) XI_RawMotionMask* = (1 shl XI_RawMotion) XI_TouchBeginMask* = (1 shl XI_TouchBegin) XI_TouchEndMask* = (1 shl XI_TouchEnd) XI_TouchOwnershipChangedMask* = (1 shl XI_TouchOwnership) XI_TouchUpdateMask* = (1 shl XI_TouchUpdate) XI_RawTouchBeginMask* = (1 shl XI_RawTouchBegin) XI_RawTouchEndMask* = (1 shl XI_RawTouchEnd) XI_RawTouchUpdateMask* = (1 shl XI_RawTouchUpdate) XI_BarrierHitMask* = (1 shl XI_BarrierHit) XI_BarrierLeaveMask* = (1 shl XI_BarrierLeave)