summaryrefslogtreecommitdiff
path: root/elpa/xelb-0.20/xcb-xinput.el
diff options
context:
space:
mode:
authorthing1 <thing1@seacrossedlovers.xyz>2025-04-01 18:10:15 +0000
committerthing1 <thing1@seacrossedlovers.xyz>2025-04-01 18:10:15 +0000
commitdabaff03992c102c395314629f63ce93a2c1bd3a (patch)
tree990472507186637085165b7cbbf7abf15c10889a /elpa/xelb-0.20/xcb-xinput.el
init commit
Diffstat (limited to 'elpa/xelb-0.20/xcb-xinput.el')
-rw-r--r--elpa/xelb-0.20/xcb-xinput.el2976
1 files changed, 2976 insertions, 0 deletions
diff --git a/elpa/xelb-0.20/xcb-xinput.el b/elpa/xelb-0.20/xcb-xinput.el
new file mode 100644
index 0000000..a0904a9
--- /dev/null
+++ b/elpa/xelb-0.20/xcb-xinput.el
@@ -0,0 +1,2976 @@
+;;; xcb-xinput.el --- X11 Input extension -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'xelb-gen' from 'xinput.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
+
+(require 'xcb-types)
+
+(defconst xcb:xinput:-extension-xname "XInputExtension")
+(defconst xcb:xinput:-extension-name "Input")
+(defconst xcb:xinput:-major-version 2)
+(defconst xcb:xinput:-minor-version 4)
+
+(require 'xcb-xfixes)
+
+(require 'xcb-xproto)
+
+(xcb:deftypealias 'xcb:xinput:EventClass 'xcb:CARD32)
+
+(xcb:deftypealias 'xcb:xinput:KeyCode 'xcb:CARD8)
+
+(xcb:deftypealias 'xcb:xinput:DeviceId 'xcb:CARD16)
+
+(xcb:deftypealias 'xcb:xinput:FP1616 'xcb:INT32)
+
+(defclass xcb:xinput:FP3232
+ (xcb:-struct)
+ ((integral :initarg :integral :type xcb:INT32)
+ (frac :initarg :frac :type xcb:CARD32)))
+
+(defclass xcb:xinput:GetExtensionVersion
+ (xcb:-request)
+ ((~opcode :initform 1 :type xcb:-u1)
+ (name-len :initarg :name-len :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (name~ :initform
+ '(name name type xcb:char size
+ (xcb:-fieldref 'name-len))
+ :type xcb:-list)
+ (name :initarg :name :type xcb:-ignore)))
+(defclass xcb:xinput:GetExtensionVersion~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (server-major :initarg :server-major :type xcb:CARD16)
+ (server-minor :initarg :server-minor :type xcb:CARD16)
+ (present :initarg :present :type xcb:BOOL)
+ (pad~0 :initform 19 :type xcb:-pad)))
+
+(defconst xcb:xinput:DeviceUse:IsXPointer 0)
+(defconst xcb:xinput:DeviceUse:IsXKeyboard 1)
+(defconst xcb:xinput:DeviceUse:IsXExtensionDevice 2)
+(defconst xcb:xinput:DeviceUse:IsXExtensionKeyboard 3)
+(defconst xcb:xinput:DeviceUse:IsXExtensionPointer 4)
+
+(defconst xcb:xinput:InputClass:Key 0)
+(defconst xcb:xinput:InputClass:Button 1)
+(defconst xcb:xinput:InputClass:Valuator 2)
+(defconst xcb:xinput:InputClass:Feedback 3)
+(defconst xcb:xinput:InputClass:Proximity 4)
+(defconst xcb:xinput:InputClass:Focus 5)
+(defconst xcb:xinput:InputClass:Other 6)
+
+(defconst xcb:xinput:ValuatorMode:Relative 0)
+(defconst xcb:xinput:ValuatorMode:Absolute 1)
+
+(defclass xcb:xinput:DeviceInfo
+ (xcb:-struct)
+ ((device-type :initarg :device-type :type xcb:ATOM)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (num-class-info :initarg :num-class-info :type xcb:CARD8)
+ (device-use :initarg :device-use :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)))
+
+(defclass xcb:xinput:KeyInfo
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (min-keycode :initarg :min-keycode :type xcb:xinput:KeyCode)
+ (max-keycode :initarg :max-keycode :type xcb:xinput:KeyCode)
+ (num-keys :initarg :num-keys :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:ButtonInfo
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (num-buttons :initarg :num-buttons :type xcb:CARD16)))
+
+(defclass xcb:xinput:AxisInfo
+ (xcb:-struct)
+ ((resolution :initarg :resolution :type xcb:CARD32)
+ (minimum :initarg :minimum :type xcb:INT32)
+ (maximum :initarg :maximum :type xcb:INT32)))
+
+(defclass xcb:xinput:ValuatorInfo
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (axes-len :initarg :axes-len :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (motion-size :initarg :motion-size :type xcb:CARD32)
+ (axes~ :initform
+ '(name axes type xcb:xinput:AxisInfo size
+ (xcb:-fieldref 'axes-len))
+ :type xcb:-list)
+ (axes :initarg :axes :type xcb:-ignore)))
+
+(defclass xcb:xinput:InputInfo
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (info :initform
+ '(expression
+ (xcb:-fieldref 'class-id)
+ cases
+ (((0)
+ min-keycode max-keycode num-keys pad~0)
+ ((1)
+ num-buttons)
+ ((2)
+ pad~1 axes-len mode motion-size axes~)))
+ :type xcb:-switch)
+ (min-keycode :initarg :min-keycode :type xcb:xinput:KeyCode)
+ (max-keycode :initarg :max-keycode :type xcb:xinput:KeyCode)
+ (num-keys :initarg :num-keys :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (num-buttons :initarg :num-buttons :type xcb:CARD16)
+ (pad~1 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (axes-len :initarg :axes-len :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (motion-size :initarg :motion-size :type xcb:CARD32)
+ (axes~ :initform
+ '(name axes type xcb:xinput:AxisInfo size
+ (xcb:-fieldref 'axes-len))
+ :type xcb:-list)
+ (axes :initarg :axes :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceName
+ (xcb:-struct)
+ ((len :initarg :len :type xcb:CARD8)
+ (string~ :initform
+ '(name string type xcb:char size
+ (xcb:-fieldref 'len))
+ :type xcb:-list)
+ (string :initarg :string :type xcb:-ignore)))
+
+(defclass xcb:xinput:ListInputDevices
+ (xcb:-request)
+ ((~opcode :initform 2 :type xcb:-u1)))
+(defclass xcb:xinput:ListInputDevices~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (devices-len :initarg :devices-len :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (devices~ :initform
+ '(name devices type xcb:xinput:DeviceInfo size
+ (xcb:-fieldref 'devices-len))
+ :type xcb:-list)
+ (devices :initarg :devices :type xcb:-ignore)
+ (infos~ :initform
+ '(name infos type xcb:xinput:InputInfo size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(xcb:-fieldref 'num-class-info)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'devices))))
+ :type xcb:-list)
+ (infos :initarg :infos :type xcb:-ignore)
+ (names~ :initform
+ '(name names type xcb:STR size
+ (xcb:-fieldref 'devices-len))
+ :type xcb:-list)
+ (names :initarg :names :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)))
+
+(xcb:deftypealias 'xcb:xinput:EventTypeBase 'xcb:CARD8)
+
+(defclass xcb:xinput:InputClassInfo
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (event-type-base :initarg :event-type-base :type xcb:xinput:EventTypeBase)))
+
+(defclass xcb:xinput:OpenDevice
+ (xcb:-request)
+ ((~opcode :initform 3 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:OpenDevice~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-classes :initarg :num-classes :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (class-info~ :initform
+ '(name class-info type xcb:xinput:InputClassInfo size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (class-info :initarg :class-info :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)))
+
+(defclass xcb:xinput:CloseDevice
+ (xcb:-request)
+ ((~opcode :initform 4 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:SetDeviceMode
+ (xcb:-request)
+ ((~opcode :initform 5 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:SetDeviceMode~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:SelectExtensionEvent
+ (xcb:-request)
+ ((~opcode :initform 6 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:GetSelectedExtensionEvents
+ (xcb:-request)
+ ((~opcode :initform 7 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)))
+(defclass xcb:xinput:GetSelectedExtensionEvents~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-this-classes :initarg :num-this-classes :type xcb:CARD16)
+ (num-all-classes :initarg :num-all-classes :type xcb:CARD16)
+ (pad~0 :initform 20 :type xcb:-pad)
+ (this-classes~ :initform
+ '(name this-classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-this-classes))
+ :type xcb:-list)
+ (this-classes :initarg :this-classes :type xcb:-ignore)
+ (all-classes~ :initform
+ '(name all-classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-all-classes))
+ :type xcb:-list)
+ (all-classes :initarg :all-classes :type xcb:-ignore)))
+
+(defconst xcb:xinput:PropagateMode:AddToList 0)
+(defconst xcb:xinput:PropagateMode:DeleteFromList 1)
+
+(defclass xcb:xinput:ChangeDeviceDontPropagateList
+ (xcb:-request)
+ ((~opcode :initform 8 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (mode :initarg :mode :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:GetDeviceDontPropagateList
+ (xcb:-request)
+ ((~opcode :initform 9 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)))
+(defclass xcb:xinput:GetDeviceDontPropagateList~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (pad~0 :initform 22 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceTimeCoord
+ (xcb:-struct)
+ ((time :initarg :time :type xcb:TIMESTAMP)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:INT32 size
+ (xcb:-paramref 'num-axes))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)))
+
+(defclass xcb:xinput:GetDeviceMotionEvents
+ (xcb:-request)
+ ((~opcode :initform 10 :type xcb:-u1)
+ (start :initarg :start :type xcb:TIMESTAMP)
+ (stop :initarg :stop :type xcb:TIMESTAMP)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceMotionEvents~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-events :initarg :num-events :type xcb:CARD32)
+ (num-axes :initarg :num-axes :type xcb:CARD8)
+ (device-mode :initarg :device-mode :type xcb:CARD8)
+ (pad~0 :initform 18 :type xcb:-pad)
+ (events~ :initform
+ '(name events type xcb:xinput:DeviceTimeCoord size
+ (xcb:-fieldref 'num-events))
+ :type xcb:-list)
+ (events :initarg :events :type xcb:-ignore)))
+
+(defclass xcb:xinput:ChangeKeyboardDevice
+ (xcb:-request)
+ ((~opcode :initform 11 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:ChangeKeyboardDevice~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:ChangePointerDevice
+ (xcb:-request)
+ ((~opcode :initform 12 :type xcb:-u1)
+ (x-axis :initarg :x-axis :type xcb:CARD8)
+ (y-axis :initarg :y-axis :type xcb:CARD8)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)))
+(defclass xcb:xinput:ChangePointerDevice~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:GrabDevice
+ (xcb:-request)
+ ((~opcode :initform 13 :type xcb:-u1)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (this-device-mode :initarg :this-device-mode :type xcb:CARD8)
+ (other-device-mode :initarg :other-device-mode :type xcb:CARD8)
+ (owner-events :initarg :owner-events :type xcb:BOOL)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+(defclass xcb:xinput:GrabDevice~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:UngrabDevice
+ (xcb:-request)
+ ((~opcode :initform 14 :type xcb:-u1)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defconst xcb:xinput:ModifierDevice:UseXKeyboard 255)
+
+(defclass xcb:xinput:GrabDeviceKey
+ (xcb:-request)
+ ((~opcode :initform 15 :type xcb:-u1)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (modifiers :initarg :modifiers :type xcb:CARD16)
+ (modifier-device :initarg :modifier-device :type xcb:CARD8)
+ (grabbed-device :initarg :grabbed-device :type xcb:CARD8)
+ (key :initarg :key :type xcb:CARD8)
+ (this-device-mode :initarg :this-device-mode :type xcb:CARD8)
+ (other-device-mode :initarg :other-device-mode :type xcb:CARD8)
+ (owner-events :initarg :owner-events :type xcb:BOOL)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:UngrabDeviceKey
+ (xcb:-request)
+ ((~opcode :initform 16 :type xcb:-u1)
+ (grabWindow :initarg :grabWindow :type xcb:WINDOW)
+ (modifiers :initarg :modifiers :type xcb:CARD16)
+ (modifier-device :initarg :modifier-device :type xcb:CARD8)
+ (key :initarg :key :type xcb:CARD8)
+ (grabbed-device :initarg :grabbed-device :type xcb:CARD8)))
+
+(defclass xcb:xinput:GrabDeviceButton
+ (xcb:-request)
+ ((~opcode :initform 17 :type xcb:-u1)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (grabbed-device :initarg :grabbed-device :type xcb:CARD8)
+ (modifier-device :initarg :modifier-device :type xcb:CARD8)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (modifiers :initarg :modifiers :type xcb:CARD16)
+ (this-device-mode :initarg :this-device-mode :type xcb:CARD8)
+ (other-device-mode :initarg :other-device-mode :type xcb:CARD8)
+ (button :initarg :button :type xcb:CARD8)
+ (owner-events :initarg :owner-events :type xcb:BOOL)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:UngrabDeviceButton
+ (xcb:-request)
+ ((~opcode :initform 18 :type xcb:-u1)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (modifiers :initarg :modifiers :type xcb:CARD16)
+ (modifier-device :initarg :modifier-device :type xcb:CARD8)
+ (button :initarg :button :type xcb:CARD8)
+ (grabbed-device :initarg :grabbed-device :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defconst xcb:xinput:DeviceInputMode:AsyncThisDevice 0)
+(defconst xcb:xinput:DeviceInputMode:SyncThisDevice 1)
+(defconst xcb:xinput:DeviceInputMode:ReplayThisDevice 2)
+(defconst xcb:xinput:DeviceInputMode:AsyncOtherDevices 3)
+(defconst xcb:xinput:DeviceInputMode:AsyncAll 4)
+(defconst xcb:xinput:DeviceInputMode:SyncAll 5)
+
+(defclass xcb:xinput:AllowDeviceEvents
+ (xcb:-request)
+ ((~opcode :initform 19 :type xcb:-u1)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (mode :initarg :mode :type xcb:CARD8)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:GetDeviceFocus
+ (xcb:-request)
+ ((~opcode :initform 20 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceFocus~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (focus :initarg :focus :type xcb:WINDOW)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (revert-to :initarg :revert-to :type xcb:CARD8)
+ (pad~0 :initform 15 :type xcb:-pad)))
+
+(defclass xcb:xinput:SetDeviceFocus
+ (xcb:-request)
+ ((~opcode :initform 21 :type xcb:-u1)
+ (focus :initarg :focus :type xcb:WINDOW)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (revert-to :initarg :revert-to :type xcb:CARD8)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defconst xcb:xinput:FeedbackClass:Keyboard 0)
+(defconst xcb:xinput:FeedbackClass:Pointer 1)
+(defconst xcb:xinput:FeedbackClass:String 2)
+(defconst xcb:xinput:FeedbackClass:Integer 3)
+(defconst xcb:xinput:FeedbackClass:Led 4)
+(defconst xcb:xinput:FeedbackClass:Bell 5)
+
+(defclass xcb:xinput:KbdFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (pitch :initarg :pitch :type xcb:CARD16)
+ (duration :initarg :duration :type xcb:CARD16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)
+ (global-auto-repeat :initarg :global-auto-repeat :type xcb:BOOL)
+ (click :initarg :click :type xcb:CARD8)
+ (percent :initarg :percent :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (auto-repeats~ :initform
+ '(name auto-repeats type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (auto-repeats :initarg :auto-repeats :type xcb:-ignore)))
+
+(defclass xcb:xinput:PtrFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (accel-num :initarg :accel-num :type xcb:CARD16)
+ (accel-denom :initarg :accel-denom :type xcb:CARD16)
+ (threshold :initarg :threshold :type xcb:CARD16)))
+
+(defclass xcb:xinput:IntegerFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (resolution :initarg :resolution :type xcb:CARD32)
+ (min-value :initarg :min-value :type xcb:INT32)
+ (max-value :initarg :max-value :type xcb:INT32)))
+
+(defclass xcb:xinput:StringFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (max-symbols :initarg :max-symbols :type xcb:CARD16)
+ (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (xcb:-fieldref 'num-keysyms))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)))
+
+(defclass xcb:xinput:BellFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (percent :initarg :percent :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)
+ (pitch :initarg :pitch :type xcb:CARD16)
+ (duration :initarg :duration :type xcb:CARD16)))
+
+(defclass xcb:xinput:LedFeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)))
+
+(defclass xcb:xinput:FeedbackState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'class-id)
+ cases
+ (((0)
+ pitch duration led-mask led-values global-auto-repeat click percent pad~0 auto-repeats~)
+ ((1)
+ pad~1 accel-num accel-denom threshold)
+ ((2)
+ max-symbols num-keysyms keysyms~)
+ ((3)
+ resolution min-value max-value)
+ ((4)
+ led-mask* led-values*)
+ ((5)
+ percent* pad~2 pitch* duration*)))
+ :type xcb:-switch)
+ (pitch :initarg :pitch :type xcb:CARD16)
+ (duration :initarg :duration :type xcb:CARD16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)
+ (global-auto-repeat :initarg :global-auto-repeat :type xcb:BOOL)
+ (click :initarg :click :type xcb:CARD8)
+ (percent :initarg :percent :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (auto-repeats~ :initform
+ '(name auto-repeats type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (auto-repeats :initarg :auto-repeats :type xcb:-ignore)
+ (pad~1 :initform 2 :type xcb:-pad)
+ (accel-num :initarg :accel-num :type xcb:CARD16)
+ (accel-denom :initarg :accel-denom :type xcb:CARD16)
+ (threshold :initarg :threshold :type xcb:CARD16)
+ (max-symbols :initarg :max-symbols :type xcb:CARD16)
+ (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (xcb:-fieldref 'num-keysyms))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)
+ (resolution :initarg :resolution :type xcb:CARD32)
+ (min-value :initarg :min-value :type xcb:INT32)
+ (max-value :initarg :max-value :type xcb:INT32)
+ (led-mask* :initarg :led-mask* :type xcb:CARD32)
+ (led-values* :initarg :led-values* :type xcb:CARD32)
+ (percent* :initarg :percent* :type xcb:CARD8)
+ (pad~2 :initform 3 :type xcb:-pad)
+ (pitch* :initarg :pitch* :type xcb:CARD16)
+ (duration* :initarg :duration* :type xcb:CARD16)))
+
+(defclass xcb:xinput:GetFeedbackControl
+ (xcb:-request)
+ ((~opcode :initform 22 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:GetFeedbackControl~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-feedbacks :initarg :num-feedbacks :type xcb:CARD16)
+ (pad~0 :initform 22 :type xcb:-pad)
+ (feedbacks~ :initform
+ '(name feedbacks type xcb:xinput:FeedbackState size
+ (xcb:-fieldref 'num-feedbacks))
+ :type xcb:-list)
+ (feedbacks :initarg :feedbacks :type xcb:-ignore)))
+
+(defclass xcb:xinput:KbdFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (key :initarg :key :type xcb:xinput:KeyCode)
+ (auto-repeat-mode :initarg :auto-repeat-mode :type xcb:CARD8)
+ (key-click-percent :initarg :key-click-percent :type xcb:INT8)
+ (bell-percent :initarg :bell-percent :type xcb:INT8)
+ (bell-pitch :initarg :bell-pitch :type xcb:INT16)
+ (bell-duration :initarg :bell-duration :type xcb:INT16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)))
+
+(defclass xcb:xinput:PtrFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (num :initarg :num :type xcb:INT16)
+ (denom :initarg :denom :type xcb:INT16)
+ (threshold :initarg :threshold :type xcb:INT16)))
+
+(defclass xcb:xinput:IntegerFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (int-to-display :initarg :int-to-display :type xcb:INT32)))
+
+(defclass xcb:xinput:StringFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (xcb:-fieldref 'num-keysyms))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)))
+
+(defclass xcb:xinput:BellFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (percent :initarg :percent :type xcb:INT8)
+ (pad~0 :initform 3 :type xcb:-pad)
+ (pitch :initarg :pitch :type xcb:INT16)
+ (duration :initarg :duration :type xcb:INT16)))
+
+(defclass xcb:xinput:LedFeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)))
+
+(defclass xcb:xinput:FeedbackCtl
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD16)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'class-id)
+ cases
+ (((0)
+ key auto-repeat-mode key-click-percent bell-percent bell-pitch bell-duration led-mask led-values)
+ ((1)
+ pad~0 num denom threshold)
+ ((2)
+ pad~1 num-keysyms keysyms~)
+ ((3)
+ int-to-display)
+ ((4)
+ led-mask* led-values*)
+ ((5)
+ percent pad~2 pitch duration)))
+ :type xcb:-switch)
+ (key :initarg :key :type xcb:xinput:KeyCode)
+ (auto-repeat-mode :initarg :auto-repeat-mode :type xcb:CARD8)
+ (key-click-percent :initarg :key-click-percent :type xcb:INT8)
+ (bell-percent :initarg :bell-percent :type xcb:INT8)
+ (bell-pitch :initarg :bell-pitch :type xcb:INT16)
+ (bell-duration :initarg :bell-duration :type xcb:INT16)
+ (led-mask :initarg :led-mask :type xcb:CARD32)
+ (led-values :initarg :led-values :type xcb:CARD32)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (num :initarg :num :type xcb:INT16)
+ (denom :initarg :denom :type xcb:INT16)
+ (threshold :initarg :threshold :type xcb:INT16)
+ (pad~1 :initform 2 :type xcb:-pad)
+ (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (xcb:-fieldref 'num-keysyms))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)
+ (int-to-display :initarg :int-to-display :type xcb:INT32)
+ (led-mask* :initarg :led-mask* :type xcb:CARD32)
+ (led-values* :initarg :led-values* :type xcb:CARD32)
+ (percent :initarg :percent :type xcb:INT8)
+ (pad~2 :initform 3 :type xcb:-pad)
+ (pitch :initarg :pitch :type xcb:INT16)
+ (duration :initarg :duration :type xcb:INT16)))
+
+(defconst xcb:xinput:ChangeFeedbackControlMask:KeyClickPercent 1)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Percent 2)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Pitch 4)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Duration 8)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Led 16)
+(defconst xcb:xinput:ChangeFeedbackControlMask:LedMode 32)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Key 64)
+(defconst xcb:xinput:ChangeFeedbackControlMask:AutoRepeatMode 128)
+(defconst xcb:xinput:ChangeFeedbackControlMask:String 1)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Integer 1)
+(defconst xcb:xinput:ChangeFeedbackControlMask:AccelNum 1)
+(defconst xcb:xinput:ChangeFeedbackControlMask:AccelDenom 2)
+(defconst xcb:xinput:ChangeFeedbackControlMask:Threshold 4)
+
+(defclass xcb:xinput:ChangeFeedbackControl
+ (xcb:-request)
+ ((~opcode :initform 23 :type xcb:-u1)
+ (mask :initarg :mask :type xcb:CARD32)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (feedback :initarg :feedback :type xcb:xinput:FeedbackCtl)))
+
+(defclass xcb:xinput:GetDeviceKeyMapping
+ (xcb:-request)
+ ((~opcode :initform 24 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (first-keycode :initarg :first-keycode :type xcb:xinput:KeyCode)
+ (count :initarg :count :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceKeyMapping~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (keysyms-per-keycode :initarg :keysyms-per-keycode :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (xcb:-fieldref 'length))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)))
+
+(defclass xcb:xinput:ChangeDeviceKeyMapping
+ (xcb:-request)
+ ((~opcode :initform 25 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (first-keycode :initarg :first-keycode :type xcb:xinput:KeyCode)
+ (keysyms-per-keycode :initarg :keysyms-per-keycode :type xcb:CARD8)
+ (keycode-count :initarg :keycode-count :type xcb:CARD8)
+ (keysyms~ :initform
+ '(name keysyms type xcb:KEYSYM size
+ (*
+ (xcb:-fieldref 'keycode-count)
+ (xcb:-fieldref 'keysyms-per-keycode)))
+ :type xcb:-list)
+ (keysyms :initarg :keysyms :type xcb:-ignore)))
+
+(defclass xcb:xinput:GetDeviceModifierMapping
+ (xcb:-request)
+ ((~opcode :initform 26 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceModifierMapping~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (keycodes-per-modifier :initarg :keycodes-per-modifier :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (keymaps~ :initform
+ '(name keymaps type xcb:CARD8 size
+ (*
+ (xcb:-fieldref 'keycodes-per-modifier)
+ 8))
+ :type xcb:-list)
+ (keymaps :initarg :keymaps :type xcb:-ignore)))
+
+(defclass xcb:xinput:SetDeviceModifierMapping
+ (xcb:-request)
+ ((~opcode :initform 27 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (keycodes-per-modifier :initarg :keycodes-per-modifier :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (keymaps~ :initform
+ '(name keymaps type xcb:CARD8 size
+ (*
+ (xcb:-fieldref 'keycodes-per-modifier)
+ 8))
+ :type xcb:-list)
+ (keymaps :initarg :keymaps :type xcb:-ignore)))
+(defclass xcb:xinput:SetDeviceModifierMapping~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:GetDeviceButtonMapping
+ (xcb:-request)
+ ((~opcode :initform 28 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceButtonMapping~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (map-size :initarg :map-size :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (map~ :initform
+ '(name map type xcb:CARD8 size
+ (xcb:-fieldref 'map-size))
+ :type xcb:-list)
+ (map :initarg :map :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)))
+
+(defclass xcb:xinput:SetDeviceButtonMapping
+ (xcb:-request)
+ ((~opcode :initform 29 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (map-size :initarg :map-size :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (map~ :initform
+ '(name map type xcb:CARD8 size
+ (xcb:-fieldref 'map-size))
+ :type xcb:-list)
+ (map :initarg :map :type xcb:-ignore)))
+(defclass xcb:xinput:SetDeviceButtonMapping~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:KeyState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (num-keys :initarg :num-keys :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (keys~ :initform
+ '(name keys type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)))
+
+(defclass xcb:xinput:ButtonState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (num-buttons :initarg :num-buttons :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)))
+
+(defconst xcb:xinput:ValuatorStateModeMask:DeviceModeAbsolute 1)
+(defconst xcb:xinput:ValuatorStateModeMask:OutOfProximity 2)
+
+(defclass xcb:xinput:ValuatorState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (valuators~ :initform
+ '(name valuators type xcb:INT32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (valuators :initarg :valuators :type xcb:-ignore)))
+
+(defclass xcb:xinput:InputState
+ (xcb:-struct)
+ ((class-id :initarg :class-id :type xcb:CARD8)
+ (len :initarg :len :type xcb:CARD8)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'class-id)
+ cases
+ (((0)
+ pad~0 num-keys pad~1 keys~)
+ ((1)
+ num-buttons pad~2 buttons~)
+ ((2)
+ pad~3 num-valuators mode valuators~)))
+ :type xcb:-switch)
+ (pad~0 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (num-keys :initarg :num-keys :type xcb:CARD8)
+ (pad~1 :initform 1 :type xcb:-pad)
+ (keys~ :initform
+ '(name keys type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)
+ (num-buttons :initarg :num-buttons :type xcb:CARD8)
+ (pad~2 :initform 1 :type xcb:-pad)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD8 size 32)
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)
+ (pad~3 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (valuators~ :initform
+ '(name valuators type xcb:INT32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (valuators :initarg :valuators :type xcb:-ignore)))
+
+(defclass xcb:xinput:QueryDeviceState
+ (xcb:-request)
+ ((~opcode :initform 30 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:QueryDeviceState~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-classes :initarg :num-classes :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:InputState size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceBell
+ (xcb:-request)
+ ((~opcode :initform 32 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (feedback-id :initarg :feedback-id :type xcb:CARD8)
+ (feedback-class :initarg :feedback-class :type xcb:CARD8)
+ (percent :initarg :percent :type xcb:INT8)))
+
+(defclass xcb:xinput:SetDeviceValuators
+ (xcb:-request)
+ ((~opcode :initform 33 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (first-valuator :initarg :first-valuator :type xcb:CARD8)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (valuators~ :initform
+ '(name valuators type xcb:INT32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (valuators :initarg :valuators :type xcb:-ignore)))
+(defclass xcb:xinput:SetDeviceValuators~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defconst xcb:xinput:DeviceControl:resolution 1)
+(defconst xcb:xinput:DeviceControl:abs_calib 2)
+(defconst xcb:xinput:DeviceControl:core 3)
+(defconst xcb:xinput:DeviceControl:enable 4)
+(defconst xcb:xinput:DeviceControl:abs_area 5)
+
+(defclass xcb:xinput:DeviceResolutionState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (num-valuators :initarg :num-valuators :type xcb:CARD32)
+ (resolution-values~ :initform
+ '(name resolution-values type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-values :initarg :resolution-values :type xcb:-ignore)
+ (resolution-min~ :initform
+ '(name resolution-min type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-min :initarg :resolution-min :type xcb:-ignore)
+ (resolution-max~ :initform
+ '(name resolution-max type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-max :initarg :resolution-max :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceAbsCalibState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (min-x :initarg :min-x :type xcb:INT32)
+ (max-x :initarg :max-x :type xcb:INT32)
+ (min-y :initarg :min-y :type xcb:INT32)
+ (max-y :initarg :max-y :type xcb:INT32)
+ (flip-x :initarg :flip-x :type xcb:CARD32)
+ (flip-y :initarg :flip-y :type xcb:CARD32)
+ (rotation :initarg :rotation :type xcb:CARD32)
+ (button-threshold :initarg :button-threshold :type xcb:CARD32)))
+
+(defclass xcb:xinput:DeviceAbsAreaState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (offset-x :initarg :offset-x :type xcb:CARD32)
+ (offset-y :initarg :offset-y :type xcb:CARD32)
+ (width :initarg :width :type xcb:CARD32)
+ (height :initarg :height :type xcb:CARD32)
+ (screen :initarg :screen :type xcb:CARD32)
+ (following :initarg :following :type xcb:CARD32)))
+
+(defclass xcb:xinput:DeviceCoreState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (status :initarg :status :type xcb:CARD8)
+ (iscore :initarg :iscore :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceEnableState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (enable :initarg :enable :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceState
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'control-id)
+ cases
+ (((1)
+ num-valuators resolution-values~ resolution-min~ resolution-max~)
+ ((2)
+ min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
+ ((3)
+ status iscore pad~0)
+ ((4)
+ enable pad~1)
+ ((5)
+ offset-x offset-y width height screen following)))
+ :type xcb:-switch)
+ (num-valuators :initarg :num-valuators :type xcb:CARD32)
+ (resolution-values~ :initform
+ '(name resolution-values type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-values :initarg :resolution-values :type xcb:-ignore)
+ (resolution-min~ :initform
+ '(name resolution-min type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-min :initarg :resolution-min :type xcb:-ignore)
+ (resolution-max~ :initform
+ '(name resolution-max type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-max :initarg :resolution-max :type xcb:-ignore)
+ (min-x :initarg :min-x :type xcb:INT32)
+ (max-x :initarg :max-x :type xcb:INT32)
+ (min-y :initarg :min-y :type xcb:INT32)
+ (max-y :initarg :max-y :type xcb:INT32)
+ (flip-x :initarg :flip-x :type xcb:CARD32)
+ (flip-y :initarg :flip-y :type xcb:CARD32)
+ (rotation :initarg :rotation :type xcb:CARD32)
+ (button-threshold :initarg :button-threshold :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (iscore :initarg :iscore :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (enable :initarg :enable :type xcb:CARD8)
+ (pad~1 :initform 3 :type xcb:-pad)
+ (offset-x :initarg :offset-x :type xcb:CARD32)
+ (offset-y :initarg :offset-y :type xcb:CARD32)
+ (width :initarg :width :type xcb:CARD32)
+ (height :initarg :height :type xcb:CARD32)
+ (screen :initarg :screen :type xcb:CARD32)
+ (following :initarg :following :type xcb:CARD32)))
+
+(defclass xcb:xinput:GetDeviceControl
+ (xcb:-request)
+ ((~opcode :initform 34 :type xcb:-u1)
+ (control-id :initarg :control-id :type xcb:CARD16)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceControl~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)
+ (control :initarg :control :type xcb:xinput:DeviceState)))
+
+(defclass xcb:xinput:DeviceResolutionCtl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (first-valuator :initarg :first-valuator :type xcb:CARD8)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (resolution-values~ :initform
+ '(name resolution-values type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-values :initarg :resolution-values :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceAbsCalibCtl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (min-x :initarg :min-x :type xcb:INT32)
+ (max-x :initarg :max-x :type xcb:INT32)
+ (min-y :initarg :min-y :type xcb:INT32)
+ (max-y :initarg :max-y :type xcb:INT32)
+ (flip-x :initarg :flip-x :type xcb:CARD32)
+ (flip-y :initarg :flip-y :type xcb:CARD32)
+ (rotation :initarg :rotation :type xcb:CARD32)
+ (button-threshold :initarg :button-threshold :type xcb:CARD32)))
+
+(defclass xcb:xinput:DeviceAbsAreaCtrl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (offset-x :initarg :offset-x :type xcb:CARD32)
+ (offset-y :initarg :offset-y :type xcb:CARD32)
+ (width :initarg :width :type xcb:INT32)
+ (height :initarg :height :type xcb:INT32)
+ (screen :initarg :screen :type xcb:INT32)
+ (following :initarg :following :type xcb:CARD32)))
+
+(defclass xcb:xinput:DeviceCoreCtrl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceEnableCtrl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (enable :initarg :enable :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceCtl
+ (xcb:-struct)
+ ((control-id :initarg :control-id :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'control-id)
+ cases
+ (((1)
+ first-valuator num-valuators pad~0 resolution-values~)
+ ((2)
+ min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
+ ((3)
+ status pad~1)
+ ((4)
+ enable pad~2)
+ ((5)
+ offset-x offset-y width height screen following)))
+ :type xcb:-switch)
+ (first-valuator :initarg :first-valuator :type xcb:CARD8)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (resolution-values~ :initform
+ '(name resolution-values type xcb:CARD32 size
+ (xcb:-fieldref 'num-valuators))
+ :type xcb:-list)
+ (resolution-values :initarg :resolution-values :type xcb:-ignore)
+ (min-x :initarg :min-x :type xcb:INT32)
+ (max-x :initarg :max-x :type xcb:INT32)
+ (min-y :initarg :min-y :type xcb:INT32)
+ (max-y :initarg :max-y :type xcb:INT32)
+ (flip-x :initarg :flip-x :type xcb:CARD32)
+ (flip-y :initarg :flip-y :type xcb:CARD32)
+ (rotation :initarg :rotation :type xcb:CARD32)
+ (button-threshold :initarg :button-threshold :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~1 :initform 3 :type xcb:-pad)
+ (enable :initarg :enable :type xcb:CARD8)
+ (pad~2 :initform 3 :type xcb:-pad)
+ (offset-x :initarg :offset-x :type xcb:CARD32)
+ (offset-y :initarg :offset-y :type xcb:CARD32)
+ (width :initarg :width :type xcb:INT32)
+ (height :initarg :height :type xcb:INT32)
+ (screen :initarg :screen :type xcb:INT32)
+ (following :initarg :following :type xcb:CARD32)))
+
+(defclass xcb:xinput:ChangeDeviceControl
+ (xcb:-request)
+ ((~opcode :initform 35 :type xcb:-u1)
+ (control-id :initarg :control-id :type xcb:CARD16)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (control :initarg :control :type xcb:xinput:DeviceCtl)))
+(defclass xcb:xinput:ChangeDeviceControl~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:ListDeviceProperties
+ (xcb:-request)
+ ((~opcode :initform 36 :type xcb:-u1)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+(defclass xcb:xinput:ListDeviceProperties~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-atoms :initarg :num-atoms :type xcb:CARD16)
+ (pad~0 :initform 22 :type xcb:-pad)
+ (atoms~ :initform
+ '(name atoms type xcb:ATOM size
+ (xcb:-fieldref 'num-atoms))
+ :type xcb:-list)
+ (atoms :initarg :atoms :type xcb:-ignore)))
+
+(defconst xcb:xinput:PropertyFormat:8Bits 8)
+(defconst xcb:xinput:PropertyFormat:16Bits 16)
+(defconst xcb:xinput:PropertyFormat:32Bits 32)
+
+(defclass xcb:xinput:ChangeDeviceProperty
+ (xcb:-request)
+ ((~opcode :initform 37 :type xcb:-u1)
+ (property :initarg :property :type xcb:ATOM)
+ (type :initarg :type :type xcb:ATOM)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (format :initarg :format :type xcb:CARD8)
+ (mode :initarg :mode :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (num-items :initarg :num-items :type xcb:CARD32)
+ (items :initform
+ '(expression
+ (xcb:-fieldref 'format)
+ cases
+ (((8)
+ data8~ pad~1)
+ ((16)
+ data16~ pad~2)
+ ((32)
+ data32~)))
+ :type xcb:-switch)
+ (data8~ :initform
+ '(name data8 type xcb:CARD8 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data8 :initarg :data8 :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)
+ (data16~ :initform
+ '(name data16 type xcb:CARD16 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data16 :initarg :data16 :type xcb:-ignore)
+ (pad~2 :initform 4 :type xcb:-pad-align)
+ (data32~ :initform
+ '(name data32 type xcb:CARD32 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data32 :initarg :data32 :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeleteDeviceProperty
+ (xcb:-request)
+ ((~opcode :initform 38 :type xcb:-u1)
+ (property :initarg :property :type xcb:ATOM)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:GetDeviceProperty
+ (xcb:-request)
+ ((~opcode :initform 39 :type xcb:-u1)
+ (property :initarg :property :type xcb:ATOM)
+ (type :initarg :type :type xcb:ATOM)
+ (offset :initarg :offset :type xcb:CARD32)
+ (len :initarg :len :type xcb:CARD32)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (delete :initarg :delete :type xcb:BOOL)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:GetDeviceProperty~reply
+ (xcb:-reply)
+ ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (type :initarg :type :type xcb:ATOM)
+ (bytes-after :initarg :bytes-after :type xcb:CARD32)
+ (num-items :initarg :num-items :type xcb:CARD32)
+ (format :initarg :format :type xcb:CARD8)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 10 :type xcb:-pad)
+ (items :initform
+ '(expression
+ (xcb:-fieldref 'format)
+ cases
+ (((8)
+ data8~ pad~1)
+ ((16)
+ data16~ pad~2)
+ ((32)
+ data32~)))
+ :type xcb:-switch)
+ (data8~ :initform
+ '(name data8 type xcb:CARD8 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data8 :initarg :data8 :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)
+ (data16~ :initform
+ '(name data16 type xcb:CARD16 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data16 :initarg :data16 :type xcb:-ignore)
+ (pad~2 :initform 4 :type xcb:-pad-align)
+ (data32~ :initform
+ '(name data32 type xcb:CARD32 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data32 :initarg :data32 :type xcb:-ignore)))
+
+(defconst xcb:xinput:Device:All 0)
+(defconst xcb:xinput:Device:AllMaster 1)
+
+(defclass xcb:xinput:GroupInfo
+ (xcb:-struct)
+ ((base :initarg :base :type xcb:CARD8)
+ (latched :initarg :latched :type xcb:CARD8)
+ (locked :initarg :locked :type xcb:CARD8)
+ (effective :initarg :effective :type xcb:CARD8)))
+
+(defclass xcb:xinput:ModifierInfo
+ (xcb:-struct)
+ ((base :initarg :base :type xcb:CARD32)
+ (latched :initarg :latched :type xcb:CARD32)
+ (locked :initarg :locked :type xcb:CARD32)
+ (effective :initarg :effective :type xcb:CARD32)))
+
+(defclass xcb:xinput:XIQueryPointer
+ (xcb:-request)
+ ((~opcode :initform 40 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:XIQueryPointer~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (win-x :initarg :win-x :type xcb:xinput:FP1616)
+ (win-y :initarg :win-y :type xcb:xinput:FP1616)
+ (same-screen :initarg :same-screen :type xcb:BOOL)
+ (pad~1 :initform 1 :type xcb:-pad)
+ (buttons-len :initarg :buttons-len :type xcb:CARD16)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD32 size
+ (xcb:-fieldref 'buttons-len))
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIWarpPointer
+ (xcb:-request)
+ ((~opcode :initform 41 :type xcb:-u1)
+ (src-win :initarg :src-win :type xcb:WINDOW)
+ (dst-win :initarg :dst-win :type xcb:WINDOW)
+ (src-x :initarg :src-x :type xcb:xinput:FP1616)
+ (src-y :initarg :src-y :type xcb:xinput:FP1616)
+ (src-width :initarg :src-width :type xcb:CARD16)
+ (src-height :initarg :src-height :type xcb:CARD16)
+ (dst-x :initarg :dst-x :type xcb:xinput:FP1616)
+ (dst-y :initarg :dst-y :type xcb:xinput:FP1616)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIChangeCursor
+ (xcb:-request)
+ ((~opcode :initform 42 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (cursor :initarg :cursor :type xcb:CURSOR)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defconst xcb:xinput:HierarchyChangeType:AddMaster 1)
+(defconst xcb:xinput:HierarchyChangeType:RemoveMaster 2)
+(defconst xcb:xinput:HierarchyChangeType:AttachSlave 3)
+(defconst xcb:xinput:HierarchyChangeType:DetachSlave 4)
+
+(defconst xcb:xinput:ChangeMode:Attach 1)
+(defconst xcb:xinput:ChangeMode:Float 2)
+
+(defclass xcb:xinput:AddMaster
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (name-len :initarg :name-len :type xcb:CARD16)
+ (send-core :initarg :send-core :type xcb:BOOL)
+ (enable :initarg :enable :type xcb:BOOL)
+ (name~ :initform
+ '(name name type xcb:char size
+ (xcb:-fieldref 'name-len))
+ :type xcb:-list)
+ (name :initarg :name :type xcb:-ignore)
+ (pad~0 :initform 4 :type xcb:-pad-align)))
+
+(defclass xcb:xinput:RemoveMaster
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (return-mode :initarg :return-mode :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (return-pointer :initarg :return-pointer :type xcb:xinput:DeviceId)
+ (return-keyboard :initarg :return-keyboard :type xcb:xinput:DeviceId)))
+
+(defclass xcb:xinput:AttachSlave
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (master :initarg :master :type xcb:xinput:DeviceId)))
+
+(defclass xcb:xinput:DetachSlave
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:HierarchyChange
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'type)
+ cases
+ (((1)
+ name-len send-core enable name~ pad~0)
+ ((2)
+ deviceid return-mode pad~1 return-pointer return-keyboard)
+ ((3)
+ deviceid* master)
+ ((4)
+ deviceid** pad~2)))
+ :type xcb:-switch)
+ (name-len :initarg :name-len :type xcb:CARD16)
+ (send-core :initarg :send-core :type xcb:BOOL)
+ (enable :initarg :enable :type xcb:BOOL)
+ (name~ :initform
+ '(name name type xcb:char size
+ (xcb:-fieldref 'name-len))
+ :type xcb:-list)
+ (name :initarg :name :type xcb:-ignore)
+ (pad~0 :initform 4 :type xcb:-pad-align)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (return-mode :initarg :return-mode :type xcb:CARD8)
+ (pad~1 :initform 1 :type xcb:-pad)
+ (return-pointer :initarg :return-pointer :type xcb:xinput:DeviceId)
+ (return-keyboard :initarg :return-keyboard :type xcb:xinput:DeviceId)
+ (deviceid* :initarg :deviceid* :type xcb:xinput:DeviceId)
+ (master :initarg :master :type xcb:xinput:DeviceId)
+ (deviceid** :initarg :deviceid** :type xcb:xinput:DeviceId)
+ (pad~2 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIChangeHierarchy
+ (xcb:-request)
+ ((~opcode :initform 43 :type xcb:-u1)
+ (num-changes :initarg :num-changes :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)
+ (changes~ :initform
+ '(name changes type xcb:xinput:HierarchyChange size
+ (xcb:-fieldref 'num-changes))
+ :type xcb:-list)
+ (changes :initarg :changes :type xcb:-ignore)))
+
+(defclass xcb:xinput:XISetClientPointer
+ (xcb:-request)
+ ((~opcode :initform 44 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIGetClientPointer
+ (xcb:-request)
+ ((~opcode :initform 45 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)))
+(defclass xcb:xinput:XIGetClientPointer~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (set :initarg :set :type xcb:BOOL)
+ (pad~1 :initform 1 :type xcb:-pad)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~2 :initform 20 :type xcb:-pad)))
+
+(defconst xcb:xinput:XIEventMask:DeviceChanged 2)
+(defconst xcb:xinput:XIEventMask:KeyPress 4)
+(defconst xcb:xinput:XIEventMask:KeyRelease 8)
+(defconst xcb:xinput:XIEventMask:ButtonPress 16)
+(defconst xcb:xinput:XIEventMask:ButtonRelease 32)
+(defconst xcb:xinput:XIEventMask:Motion 64)
+(defconst xcb:xinput:XIEventMask:Enter 128)
+(defconst xcb:xinput:XIEventMask:Leave 256)
+(defconst xcb:xinput:XIEventMask:FocusIn 512)
+(defconst xcb:xinput:XIEventMask:FocusOut 1024)
+(defconst xcb:xinput:XIEventMask:Hierarchy 2048)
+(defconst xcb:xinput:XIEventMask:Property 4096)
+(defconst xcb:xinput:XIEventMask:RawKeyPress 8192)
+(defconst xcb:xinput:XIEventMask:RawKeyRelease 16384)
+(defconst xcb:xinput:XIEventMask:RawButtonPress 32768)
+(defconst xcb:xinput:XIEventMask:RawButtonRelease 65536)
+(defconst xcb:xinput:XIEventMask:RawMotion 131072)
+(defconst xcb:xinput:XIEventMask:TouchBegin 262144)
+(defconst xcb:xinput:XIEventMask:TouchUpdate 524288)
+(defconst xcb:xinput:XIEventMask:TouchEnd 1048576)
+(defconst xcb:xinput:XIEventMask:TouchOwnership 2097152)
+(defconst xcb:xinput:XIEventMask:RawTouchBegin 4194304)
+(defconst xcb:xinput:XIEventMask:RawTouchUpdate 8388608)
+(defconst xcb:xinput:XIEventMask:RawTouchEnd 16777216)
+(defconst xcb:xinput:XIEventMask:BarrierHit 33554432)
+(defconst xcb:xinput:XIEventMask:BarrierLeave 67108864)
+
+(defclass xcb:xinput:EventMask
+ (xcb:-struct)
+ ((deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (mask-len :initarg :mask-len :type xcb:CARD16)
+ (mask~ :initform
+ '(name mask type xcb:CARD32 size
+ (xcb:-fieldref 'mask-len))
+ :type xcb:-list)
+ (mask :initarg :mask :type xcb:-ignore)))
+
+(defclass xcb:xinput:XISelectEvents
+ (xcb:-request)
+ ((~opcode :initform 46 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (num-mask :initarg :num-mask :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (masks~ :initform
+ '(name masks type xcb:xinput:EventMask size
+ (xcb:-fieldref 'num-mask))
+ :type xcb:-list)
+ (masks :initarg :masks :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIQueryVersion
+ (xcb:-request)
+ ((~opcode :initform 47 :type xcb:-u1)
+ (major-version :initarg :major-version :type xcb:CARD16)
+ (minor-version :initarg :minor-version :type xcb:CARD16)))
+(defclass xcb:xinput:XIQueryVersion~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (major-version :initarg :major-version :type xcb:CARD16)
+ (minor-version :initarg :minor-version :type xcb:CARD16)
+ (pad~1 :initform 20 :type xcb:-pad)))
+
+(defconst xcb:xinput:DeviceClassType:Key 0)
+(defconst xcb:xinput:DeviceClassType:Button 1)
+(defconst xcb:xinput:DeviceClassType:Valuator 2)
+(defconst xcb:xinput:DeviceClassType:Scroll 3)
+(defconst xcb:xinput:DeviceClassType:Touch 8)
+(defconst xcb:xinput:DeviceClassType:Gesture 9)
+
+(defconst xcb:xinput:DeviceType:MasterPointer 1)
+(defconst xcb:xinput:DeviceType:MasterKeyboard 2)
+(defconst xcb:xinput:DeviceType:SlavePointer 3)
+(defconst xcb:xinput:DeviceType:SlaveKeyboard 4)
+(defconst xcb:xinput:DeviceType:FloatingSlave 5)
+
+(defconst xcb:xinput:ScrollFlags:NoEmulation 1)
+(defconst xcb:xinput:ScrollFlags:Preferred 2)
+
+(defconst xcb:xinput:ScrollType:Vertical 1)
+(defconst xcb:xinput:ScrollType:Horizontal 2)
+
+(defconst xcb:xinput:TouchMode:Direct 1)
+(defconst xcb:xinput:TouchMode:Dependent 2)
+
+(defclass xcb:xinput:ButtonClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (num-buttons :initarg :num-buttons :type xcb:CARD16)
+ (state~ :initform
+ '(name state type xcb:CARD32 size
+ (/
+ (+
+ (xcb:-fieldref 'num-buttons)
+ 31)
+ 32))
+ :type xcb:-list)
+ (state :initarg :state :type xcb:-ignore)
+ (labels~ :initform
+ '(name labels type xcb:ATOM size
+ (xcb:-fieldref 'num-buttons))
+ :type xcb:-list)
+ (labels :initarg :labels :type xcb:-ignore)))
+
+(defclass xcb:xinput:KeyClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (num-keys :initarg :num-keys :type xcb:CARD16)
+ (keys~ :initform
+ '(name keys type xcb:CARD32 size
+ (xcb:-fieldref 'num-keys))
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)))
+
+(defclass xcb:xinput:ScrollClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (number :initarg :number :type xcb:CARD16)
+ (scroll-type :initarg :scroll-type :type xcb:CARD16)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (increment :initarg :increment :type xcb:xinput:FP3232)))
+
+(defclass xcb:xinput:TouchClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (mode :initarg :mode :type xcb:CARD8)
+ (num-touches :initarg :num-touches :type xcb:CARD8)))
+
+(defclass xcb:xinput:GestureClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (num-touches :initarg :num-touches :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)))
+
+(defclass xcb:xinput:ValuatorClass
+ (xcb:-struct)
+ ((type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (number :initarg :number :type xcb:CARD16)
+ (label :initarg :label :type xcb:ATOM)
+ (min :initarg :min :type xcb:xinput:FP3232)
+ (max :initarg :max :type xcb:xinput:FP3232)
+ (value :initarg :value :type xcb:xinput:FP3232)
+ (resolution :initarg :resolution :type xcb:CARD32)
+ (mode :initarg :mode :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceClass
+ (xcb:-struct)
+ ((~size :initform
+ '(*
+ (xcb:-fieldref 'len)
+ 4))
+ (type :initarg :type :type xcb:CARD16)
+ (len :initarg :len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (data :initform
+ '(expression
+ (xcb:-fieldref 'type)
+ cases
+ (((0)
+ pad~0 num-keys keys~)
+ ((1)
+ pad~1 num-buttons state~ labels~)
+ ((2)
+ pad~2 number label min max value resolution mode pad~3)
+ ((3)
+ pad~4 number* scroll-type pad~5 flags increment)
+ ((8)
+ mode* num-touches)
+ ((9)
+ num-touches* pad~6)))
+ :type xcb:-switch)
+ (pad~0 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (num-keys :initarg :num-keys :type xcb:CARD16)
+ (keys~ :initform
+ '(name keys type xcb:CARD32 size
+ (xcb:-fieldref 'num-keys))
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)
+ (pad~1 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (num-buttons :initarg :num-buttons :type xcb:CARD16)
+ (state~ :initform
+ '(name state type xcb:CARD32 size
+ (/
+ (+
+ (xcb:-fieldref 'num-buttons)
+ 31)
+ 32))
+ :type xcb:-list)
+ (state :initarg :state :type xcb:-ignore)
+ (labels~ :initform
+ '(name labels type xcb:ATOM size
+ (xcb:-fieldref 'num-buttons))
+ :type xcb:-list)
+ (labels :initarg :labels :type xcb:-ignore)
+ (pad~2 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (number :initarg :number :type xcb:CARD16)
+ (label :initarg :label :type xcb:ATOM)
+ (min :initarg :min :type xcb:xinput:FP3232)
+ (max :initarg :max :type xcb:xinput:FP3232)
+ (value :initarg :value :type xcb:xinput:FP3232)
+ (resolution :initarg :resolution :type xcb:CARD32)
+ (mode :initarg :mode :type xcb:CARD8)
+ (pad~3 :initform 3 :type xcb:-pad)
+ (pad~4 :initform
+ [4 2]
+ :type xcb:-pad-align)
+ (number* :initarg :number* :type xcb:CARD16)
+ (scroll-type :initarg :scroll-type :type xcb:CARD16)
+ (pad~5 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (increment :initarg :increment :type xcb:xinput:FP3232)
+ (mode* :initarg :mode* :type xcb:CARD8)
+ (num-touches :initarg :num-touches :type xcb:CARD8)
+ (num-touches* :initarg :num-touches* :type xcb:CARD8)
+ (pad~6 :initform 1 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIDeviceInfo
+ (xcb:-struct)
+ ((deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (type :initarg :type :type xcb:CARD16)
+ (attachment :initarg :attachment :type xcb:xinput:DeviceId)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (name-len :initarg :name-len :type xcb:CARD16)
+ (enabled :initarg :enabled :type xcb:BOOL)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (name~ :initform
+ '(name name type xcb:char size
+ (xcb:-fieldref 'name-len))
+ :type xcb:-list)
+ (name :initarg :name :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)
+ (classes~ :initform
+ '(name classes type xcb:xinput:DeviceClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIQueryDevice
+ (xcb:-request)
+ ((~opcode :initform 48 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:XIQueryDevice~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-infos :initarg :num-infos :type xcb:CARD16)
+ (pad~1 :initform 22 :type xcb:-pad)
+ (infos~ :initform
+ '(name infos type xcb:xinput:XIDeviceInfo size
+ (xcb:-fieldref 'num-infos))
+ :type xcb:-list)
+ (infos :initarg :infos :type xcb:-ignore)))
+
+(defclass xcb:xinput:XISetFocus
+ (xcb:-request)
+ ((~opcode :initform 49 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIGetFocus
+ (xcb:-request)
+ ((~opcode :initform 50 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:XIGetFocus~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (focus :initarg :focus :type xcb:WINDOW)
+ (pad~1 :initform 20 :type xcb:-pad)))
+
+(defconst xcb:xinput:GrabOwner:NoOwner 0)
+(defconst xcb:xinput:GrabOwner:Owner 1)
+
+(defclass xcb:xinput:XIGrabDevice
+ (xcb:-request)
+ ((~opcode :initform 51 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (cursor :initarg :cursor :type xcb:CURSOR)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (mode :initarg :mode :type xcb:CARD8)
+ (paired-device-mode :initarg :paired-device-mode :type xcb:CARD8)
+ (owner-events :initarg :owner-events :type xcb:BOOL)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (mask-len :initarg :mask-len :type xcb:CARD16)
+ (mask~ :initform
+ '(name mask type xcb:CARD32 size
+ (xcb:-fieldref 'mask-len))
+ :type xcb:-list)
+ (mask :initarg :mask :type xcb:-ignore)))
+(defclass xcb:xinput:XIGrabDevice~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~1 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIUngrabDevice
+ (xcb:-request)
+ ((~opcode :initform 52 :type xcb:-u1)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+
+(defconst xcb:xinput:EventMode:AsyncDevice 0)
+(defconst xcb:xinput:EventMode:SyncDevice 1)
+(defconst xcb:xinput:EventMode:ReplayDevice 2)
+(defconst xcb:xinput:EventMode:AsyncPairedDevice 3)
+(defconst xcb:xinput:EventMode:AsyncPair 4)
+(defconst xcb:xinput:EventMode:SyncPair 5)
+(defconst xcb:xinput:EventMode:AcceptTouch 6)
+(defconst xcb:xinput:EventMode:RejectTouch 7)
+
+(defclass xcb:xinput:XIAllowEvents
+ (xcb:-request)
+ ((~opcode :initform 53 :type xcb:-u1)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (event-mode :initarg :event-mode :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (touchid :initarg :touchid :type xcb:CARD32)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)))
+
+(defconst xcb:xinput:GrabMode22:Sync 0)
+(defconst xcb:xinput:GrabMode22:Async 1)
+(defconst xcb:xinput:GrabMode22:Touch 2)
+
+(defconst xcb:xinput:GrabType:Button 0)
+(defconst xcb:xinput:GrabType:Keycode 1)
+(defconst xcb:xinput:GrabType:Enter 2)
+(defconst xcb:xinput:GrabType:FocusIn 3)
+(defconst xcb:xinput:GrabType:TouchBegin 4)
+(defconst xcb:xinput:GrabType:GesturePinchBegin 5)
+(defconst xcb:xinput:GrabType:GestureSwipeBegin 6)
+
+(defclass xcb:xinput:GrabModifierInfo
+ (xcb:-struct)
+ ((modifiers :initarg :modifiers :type xcb:CARD32)
+ (status :initarg :status :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)))
+
+(defclass xcb:xinput:XIPassiveGrabDevice
+ (xcb:-request)
+ ((~opcode :initform 54 :type xcb:-u1)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (cursor :initarg :cursor :type xcb:CURSOR)
+ (detail :initarg :detail :type xcb:CARD32)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (num-modifiers :initarg :num-modifiers :type xcb:CARD16)
+ (mask-len :initarg :mask-len :type xcb:CARD16)
+ (grab-type :initarg :grab-type :type xcb:CARD8)
+ (grab-mode :initarg :grab-mode :type xcb:CARD8)
+ (paired-device-mode :initarg :paired-device-mode :type xcb:CARD8)
+ (owner-events :initarg :owner-events :type xcb:BOOL)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (mask~ :initform
+ '(name mask type xcb:CARD32 size
+ (xcb:-fieldref 'mask-len))
+ :type xcb:-list)
+ (mask :initarg :mask :type xcb:-ignore)
+ (modifiers~ :initform
+ '(name modifiers type xcb:CARD32 size
+ (xcb:-fieldref 'num-modifiers))
+ :type xcb:-list)
+ (modifiers :initarg :modifiers :type xcb:-ignore)))
+(defclass xcb:xinput:XIPassiveGrabDevice~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-modifiers :initarg :num-modifiers :type xcb:CARD16)
+ (pad~1 :initform 22 :type xcb:-pad)
+ (modifiers~ :initform
+ '(name modifiers type xcb:xinput:GrabModifierInfo size
+ (xcb:-fieldref 'num-modifiers))
+ :type xcb:-list)
+ (modifiers :initarg :modifiers :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIPassiveUngrabDevice
+ (xcb:-request)
+ ((~opcode :initform 55 :type xcb:-u1)
+ (grab-window :initarg :grab-window :type xcb:WINDOW)
+ (detail :initarg :detail :type xcb:CARD32)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (num-modifiers :initarg :num-modifiers :type xcb:CARD16)
+ (grab-type :initarg :grab-type :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)
+ (modifiers~ :initform
+ '(name modifiers type xcb:CARD32 size
+ (xcb:-fieldref 'num-modifiers))
+ :type xcb:-list)
+ (modifiers :initarg :modifiers :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIListProperties
+ (xcb:-request)
+ ((~opcode :initform 56 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)))
+(defclass xcb:xinput:XIListProperties~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-properties :initarg :num-properties :type xcb:CARD16)
+ (pad~1 :initform 22 :type xcb:-pad)
+ (properties~ :initform
+ '(name properties type xcb:ATOM size
+ (xcb:-fieldref 'num-properties))
+ :type xcb:-list)
+ (properties :initarg :properties :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIChangeProperty
+ (xcb:-request)
+ ((~opcode :initform 57 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (mode :initarg :mode :type xcb:CARD8)
+ (format :initarg :format :type xcb:CARD8)
+ (property :initarg :property :type xcb:ATOM)
+ (type :initarg :type :type xcb:ATOM)
+ (num-items :initarg :num-items :type xcb:CARD32)
+ (items :initform
+ '(expression
+ (xcb:-fieldref 'format)
+ cases
+ (((8)
+ data8~ pad~0)
+ ((16)
+ data16~ pad~1)
+ ((32)
+ data32~)))
+ :type xcb:-switch)
+ (data8~ :initform
+ '(name data8 type xcb:CARD8 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data8 :initarg :data8 :type xcb:-ignore)
+ (pad~0 :initform 4 :type xcb:-pad-align)
+ (data16~ :initform
+ '(name data16 type xcb:CARD16 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data16 :initarg :data16 :type xcb:-ignore)
+ (pad~1 :initform 4 :type xcb:-pad-align)
+ (data32~ :initform
+ '(name data32 type xcb:CARD32 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data32 :initarg :data32 :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIDeleteProperty
+ (xcb:-request)
+ ((~opcode :initform 58 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (property :initarg :property :type xcb:ATOM)))
+
+(defclass xcb:xinput:XIGetProperty
+ (xcb:-request)
+ ((~opcode :initform 59 :type xcb:-u1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (delete :initarg :delete :type xcb:BOOL)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (property :initarg :property :type xcb:ATOM)
+ (type :initarg :type :type xcb:ATOM)
+ (offset :initarg :offset :type xcb:CARD32)
+ (len :initarg :len :type xcb:CARD32)))
+(defclass xcb:xinput:XIGetProperty~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (type :initarg :type :type xcb:ATOM)
+ (bytes-after :initarg :bytes-after :type xcb:CARD32)
+ (num-items :initarg :num-items :type xcb:CARD32)
+ (format :initarg :format :type xcb:CARD8)
+ (pad~1 :initform 11 :type xcb:-pad)
+ (items :initform
+ '(expression
+ (xcb:-fieldref 'format)
+ cases
+ (((8)
+ data8~ pad~2)
+ ((16)
+ data16~ pad~3)
+ ((32)
+ data32~)))
+ :type xcb:-switch)
+ (data8~ :initform
+ '(name data8 type xcb:CARD8 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data8 :initarg :data8 :type xcb:-ignore)
+ (pad~2 :initform 4 :type xcb:-pad-align)
+ (data16~ :initform
+ '(name data16 type xcb:CARD16 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data16 :initarg :data16 :type xcb:-ignore)
+ (pad~3 :initform 4 :type xcb:-pad-align)
+ (data32~ :initform
+ '(name data32 type xcb:CARD32 size
+ (xcb:-fieldref 'num-items))
+ :type xcb:-list)
+ (data32 :initarg :data32 :type xcb:-ignore)))
+
+(defclass xcb:xinput:XIGetSelectedEvents
+ (xcb:-request)
+ ((~opcode :initform 60 :type xcb:-u1)
+ (window :initarg :window :type xcb:WINDOW)))
+(defclass xcb:xinput:XIGetSelectedEvents~reply
+ (xcb:-reply)
+ ((pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (length :type xcb:CARD32)
+ (num-masks :initarg :num-masks :type xcb:CARD16)
+ (pad~1 :initform 22 :type xcb:-pad)
+ (masks~ :initform
+ '(name masks type xcb:xinput:EventMask size
+ (xcb:-fieldref 'num-masks))
+ :type xcb:-list)
+ (masks :initarg :masks :type xcb:-ignore)))
+
+(defclass xcb:xinput:BarrierReleasePointerInfo
+ (xcb:-struct)
+ ((deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (barrier :initarg :barrier :type xcb:xfixes:BARRIER)
+ (eventid :initarg :eventid :type xcb:CARD32)))
+
+(defclass xcb:xinput:XIBarrierReleasePointer
+ (xcb:-request)
+ ((~opcode :initform 61 :type xcb:-u1)
+ (num-barriers :initarg :num-barriers :type xcb:CARD32)
+ (barriers~ :initform
+ '(name barriers type xcb:xinput:BarrierReleasePointerInfo size
+ (xcb:-fieldref 'num-barriers))
+ :type xcb:-list)
+ (barriers :initarg :barriers :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceValuator
+ (xcb:-event)
+ ((~code :initform 0)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (~sequence :type xcb:CARD16)
+ (device-state :initarg :device-state :type xcb:CARD16)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (first-valuator :initarg :first-valuator :type xcb:CARD8)
+ (valuators~ :initform
+ '(name valuators type xcb:INT32 size 6)
+ :type xcb:-list)
+ (valuators :initarg :valuators :type xcb:-ignore)))
+
+(defconst xcb:xinput:MoreEventsMask:MoreEvents 128)
+
+(defclass xcb:xinput:DeviceKeyPress
+ (xcb:-event)
+ ((~code :initform 1)
+ (detail :initarg :detail :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:INT16)
+ (root-y :initarg :root-y :type xcb:INT16)
+ (event-x :initarg :event-x :type xcb:INT16)
+ (event-y :initarg :event-y :type xcb:INT16)
+ (state :initarg :state :type xcb:CARD16)
+ (same-screen :initarg :same-screen :type xcb:BOOL)
+ (device-id :initarg :device-id :type xcb:CARD8)))
+
+(defclass xcb:xinput:DeviceKeyRelease
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 2)))
+
+(defclass xcb:xinput:DeviceButtonPress
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 3)))
+
+(defclass xcb:xinput:DeviceButtonRelease
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 4)))
+
+(defclass xcb:xinput:DeviceMotionNotify
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 5)))
+
+(defclass xcb:xinput:DeviceFocusIn
+ (xcb:-event)
+ ((~code :initform 6)
+ (detail :initarg :detail :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (window :initarg :window :type xcb:WINDOW)
+ (mode :initarg :mode :type xcb:BYTE)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (pad~0 :initform 18 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceFocusOut
+ (xcb:xinput:DeviceFocusIn)
+ ((~code :initform 7)))
+
+(defclass xcb:xinput:ProximityIn
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 8)))
+
+(defclass xcb:xinput:ProximityOut
+ (xcb:xinput:DeviceKeyPress)
+ ((~code :initform 9)))
+
+(defconst xcb:xinput:ClassesReportedMask:OutOfProximity 128)
+(defconst xcb:xinput:ClassesReportedMask:DeviceModeAbsolute 64)
+(defconst xcb:xinput:ClassesReportedMask:ReportingValuators 4)
+(defconst xcb:xinput:ClassesReportedMask:ReportingButtons 2)
+(defconst xcb:xinput:ClassesReportedMask:ReportingKeys 1)
+
+(defclass xcb:xinput:DeviceStateNotify
+ (xcb:-event)
+ ((~code :initform 10)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (num-keys :initarg :num-keys :type xcb:CARD8)
+ (num-buttons :initarg :num-buttons :type xcb:CARD8)
+ (num-valuators :initarg :num-valuators :type xcb:CARD8)
+ (classes-reported :initarg :classes-reported :type xcb:CARD8)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD8 size 4)
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)
+ (keys~ :initform
+ '(name keys type xcb:CARD8 size 4)
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)
+ (valuators~ :initform
+ '(name valuators type xcb:CARD32 size 3)
+ :type xcb:-list)
+ (valuators :initarg :valuators :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceMappingNotify
+ (xcb:-event)
+ ((~code :initform 11)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (request :initarg :request :type xcb:CARD8)
+ (first-keycode :initarg :first-keycode :type xcb:xinput:KeyCode)
+ (count :initarg :count :type xcb:CARD8)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (pad~1 :initform 20 :type xcb:-pad)))
+
+(defconst xcb:xinput:ChangeDevice:NewPointer 0)
+(defconst xcb:xinput:ChangeDevice:NewKeyboard 1)
+
+(defclass xcb:xinput:ChangeDeviceNotify
+ (xcb:-event)
+ ((~code :initform 12)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (request :initarg :request :type xcb:CARD8)
+ (pad~0 :initform 23 :type xcb:-pad)))
+
+(defclass xcb:xinput:DeviceKeyStateNotify
+ (xcb:-event)
+ ((~code :initform 13)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (keys~ :initform
+ '(name keys type xcb:CARD8 size 28)
+ :type xcb:-list)
+ (keys :initarg :keys :type xcb:-ignore)))
+
+(defclass xcb:xinput:DeviceButtonStateNotify
+ (xcb:-event)
+ ((~code :initform 14)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD8 size 28)
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)))
+
+(defconst xcb:xinput:DeviceChange:Added 0)
+(defconst xcb:xinput:DeviceChange:Removed 1)
+(defconst xcb:xinput:DeviceChange:Enabled 2)
+(defconst xcb:xinput:DeviceChange:Disabled 3)
+(defconst xcb:xinput:DeviceChange:Unrecoverable 4)
+(defconst xcb:xinput:DeviceChange:ControlChanged 5)
+
+(defclass xcb:xinput:DevicePresenceNotify
+ (xcb:-event)
+ ((~code :initform 15)
+ (pad~0 :initform 1 :type xcb:-pad)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (devchange :initarg :devchange :type xcb:BYTE)
+ (device-id :initarg :device-id :type xcb:BYTE)
+ (control :initarg :control :type xcb:CARD16)
+ (pad~1 :initform 20 :type xcb:-pad)))
+
+(defclass xcb:xinput:DevicePropertyNotify
+ (xcb:-event)
+ ((~code :initform 16)
+ (state :initarg :state :type xcb:BYTE)
+ (~sequence :type xcb:CARD16)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (property :initarg :property :type xcb:ATOM)
+ (pad~0 :initform 19 :type xcb:-pad)
+ (device-id :initarg :device-id :type xcb:CARD8)))
+
+(defconst xcb:xinput:ChangeReason:SlaveSwitch 1)
+(defconst xcb:xinput:ChangeReason:DeviceChange 2)
+
+(defclass xcb:xinput:DeviceChanged
+ (xcb:-generic-event)
+ ((~evtype :initform 1)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (reason :initarg :reason :type xcb:CARD8)
+ (pad~0 :initform 11 :type xcb:-pad)
+ (classes~ :initform
+ '(name classes type xcb:xinput:DeviceClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defconst xcb:xinput:KeyEventFlags:KeyRepeat 65536)
+
+(defclass xcb:xinput:KeyPress
+ (xcb:-generic-event)
+ ((~evtype :initform 2)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (buttons-len :initarg :buttons-len :type xcb:CARD16)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (button-mask~ :initform
+ '(name button-mask type xcb:CARD32 size
+ (xcb:-fieldref 'buttons-len))
+ :type xcb:-list)
+ (button-mask :initarg :button-mask :type xcb:-ignore)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)))
+
+(defclass xcb:xinput:KeyRelease
+ (xcb:xinput:KeyPress)
+ ((~evtype :initform 3)))
+
+(defconst xcb:xinput:PointerEventFlags:PointerEmulated 65536)
+
+(defclass xcb:xinput:ButtonPress
+ (xcb:-generic-event)
+ ((~evtype :initform 4)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (buttons-len :initarg :buttons-len :type xcb:CARD16)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (button-mask~ :initform
+ '(name button-mask type xcb:CARD32 size
+ (xcb:-fieldref 'buttons-len))
+ :type xcb:-list)
+ (button-mask :initarg :button-mask :type xcb:-ignore)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)))
+
+(defclass xcb:xinput:ButtonRelease
+ (xcb:xinput:ButtonPress)
+ ((~evtype :initform 5)))
+
+(defclass xcb:xinput:Motion
+ (xcb:xinput:ButtonPress)
+ ((~evtype :initform 6)))
+
+(defconst xcb:xinput:NotifyMode:Normal 0)
+(defconst xcb:xinput:NotifyMode:Grab 1)
+(defconst xcb:xinput:NotifyMode:Ungrab 2)
+(defconst xcb:xinput:NotifyMode:WhileGrabbed 3)
+(defconst xcb:xinput:NotifyMode:PassiveGrab 4)
+(defconst xcb:xinput:NotifyMode:PassiveUngrab 5)
+
+(defconst xcb:xinput:NotifyDetail:Ancestor 0)
+(defconst xcb:xinput:NotifyDetail:Virtual 1)
+(defconst xcb:xinput:NotifyDetail:Inferior 2)
+(defconst xcb:xinput:NotifyDetail:Nonlinear 3)
+(defconst xcb:xinput:NotifyDetail:NonlinearVirtual 4)
+(defconst xcb:xinput:NotifyDetail:Pointer 5)
+(defconst xcb:xinput:NotifyDetail:PointerRoot 6)
+(defconst xcb:xinput:NotifyDetail:None 7)
+
+(defclass xcb:xinput:Enter
+ (xcb:-generic-event)
+ ((~evtype :initform 7)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (mode :initarg :mode :type xcb:CARD8)
+ (detail :initarg :detail :type xcb:CARD8)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (same-screen :initarg :same-screen :type xcb:BOOL)
+ (focus :initarg :focus :type xcb:BOOL)
+ (buttons-len :initarg :buttons-len :type xcb:CARD16)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (buttons~ :initform
+ '(name buttons type xcb:CARD32 size
+ (xcb:-fieldref 'buttons-len))
+ :type xcb:-list)
+ (buttons :initarg :buttons :type xcb:-ignore)))
+
+(defclass xcb:xinput:Leave
+ (xcb:xinput:Enter)
+ ((~evtype :initform 8)))
+
+(defclass xcb:xinput:FocusIn
+ (xcb:xinput:Enter)
+ ((~evtype :initform 9)))
+
+(defclass xcb:xinput:FocusOut
+ (xcb:xinput:Enter)
+ ((~evtype :initform 10)))
+
+(defconst xcb:xinput:HierarchyMask:MasterAdded 1)
+(defconst xcb:xinput:HierarchyMask:MasterRemoved 2)
+(defconst xcb:xinput:HierarchyMask:SlaveAdded 4)
+(defconst xcb:xinput:HierarchyMask:SlaveRemoved 8)
+(defconst xcb:xinput:HierarchyMask:SlaveAttached 16)
+(defconst xcb:xinput:HierarchyMask:SlaveDetached 32)
+(defconst xcb:xinput:HierarchyMask:DeviceEnabled 64)
+(defconst xcb:xinput:HierarchyMask:DeviceDisabled 128)
+
+(defclass xcb:xinput:HierarchyInfo
+ (xcb:-struct)
+ ((deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (attachment :initarg :attachment :type xcb:xinput:DeviceId)
+ (type :initarg :type :type xcb:CARD8)
+ (enabled :initarg :enabled :type xcb:BOOL)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)))
+
+(defclass xcb:xinput:Hierarchy
+ (xcb:-generic-event)
+ ((~evtype :initform 11)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (flags :initarg :flags :type xcb:CARD32)
+ (num-infos :initarg :num-infos :type xcb:CARD16)
+ (pad~0 :initform 10 :type xcb:-pad)
+ (infos~ :initform
+ '(name infos type xcb:xinput:HierarchyInfo size
+ (xcb:-fieldref 'num-infos))
+ :type xcb:-list)
+ (infos :initarg :infos :type xcb:-ignore)))
+
+(defconst xcb:xinput:PropertyFlag:Deleted 0)
+(defconst xcb:xinput:PropertyFlag:Created 1)
+(defconst xcb:xinput:PropertyFlag:Modified 2)
+
+(defclass xcb:xinput:Property
+ (xcb:-generic-event)
+ ((~evtype :initform 12)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (property :initarg :property :type xcb:ATOM)
+ (what :initarg :what :type xcb:CARD8)
+ (pad~0 :initform 11 :type xcb:-pad)))
+
+(defclass xcb:xinput:RawKeyPress
+ (xcb:-generic-event)
+ ((~evtype :initform 13)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (flags :initarg :flags :type xcb:CARD32)
+ (pad~0 :initform 4 :type xcb:-pad)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)
+ (axisvalues-raw~ :initform
+ '(name axisvalues-raw type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
+
+(defclass xcb:xinput:RawKeyRelease
+ (xcb:xinput:RawKeyPress)
+ ((~evtype :initform 14)))
+
+(defclass xcb:xinput:RawButtonPress
+ (xcb:-generic-event)
+ ((~evtype :initform 15)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (flags :initarg :flags :type xcb:CARD32)
+ (pad~0 :initform 4 :type xcb:-pad)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)
+ (axisvalues-raw~ :initform
+ '(name axisvalues-raw type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
+
+(defclass xcb:xinput:RawButtonRelease
+ (xcb:xinput:RawButtonPress)
+ ((~evtype :initform 16)))
+
+(defclass xcb:xinput:RawMotion
+ (xcb:xinput:RawButtonPress)
+ ((~evtype :initform 17)))
+
+(defconst xcb:xinput:TouchEventFlags:TouchPendingEnd 65536)
+(defconst xcb:xinput:TouchEventFlags:TouchEmulatingPointer 131072)
+
+(defclass xcb:xinput:TouchBegin
+ (xcb:-generic-event)
+ ((~evtype :initform 18)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (buttons-len :initarg :buttons-len :type xcb:CARD16)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (button-mask~ :initform
+ '(name button-mask type xcb:CARD32 size
+ (xcb:-fieldref 'buttons-len))
+ :type xcb:-list)
+ (button-mask :initarg :button-mask :type xcb:-ignore)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)))
+
+(defclass xcb:xinput:TouchUpdate
+ (xcb:xinput:TouchBegin)
+ ((~evtype :initform 19)))
+
+(defclass xcb:xinput:TouchEnd
+ (xcb:xinput:TouchBegin)
+ ((~evtype :initform 20)))
+
+(defconst xcb:xinput:TouchOwnershipFlags:None 0)
+
+(defclass xcb:xinput:TouchOwnership
+ (xcb:-generic-event)
+ ((~evtype :initform 21)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (touchid :initarg :touchid :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (flags :initarg :flags :type xcb:CARD32)
+ (pad~1 :initform 8 :type xcb:-pad)))
+
+(defclass xcb:xinput:RawTouchBegin
+ (xcb:-generic-event)
+ ((~evtype :initform 22)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (valuators-len :initarg :valuators-len :type xcb:CARD16)
+ (flags :initarg :flags :type xcb:CARD32)
+ (pad~0 :initform 4 :type xcb:-pad)
+ (valuator-mask~ :initform
+ '(name valuator-mask type xcb:CARD32 size
+ (xcb:-fieldref 'valuators-len))
+ :type xcb:-list)
+ (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+ (axisvalues~ :initform
+ '(name axisvalues type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues :initarg :axisvalues :type xcb:-ignore)
+ (axisvalues-raw~ :initform
+ '(name axisvalues-raw type xcb:xinput:FP3232 size
+ (apply #'+
+ (mapcar
+ (lambda
+ (i)
+ (eval
+ '(logcount obj)
+ (list
+ (nconc
+ '(obj)
+ i))))
+ (slot-value obj 'valuator-mask))))
+ :type xcb:-list)
+ (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
+
+(defclass xcb:xinput:RawTouchUpdate
+ (xcb:xinput:RawTouchBegin)
+ ((~evtype :initform 23)))
+
+(defclass xcb:xinput:RawTouchEnd
+ (xcb:xinput:RawTouchBegin)
+ ((~evtype :initform 24)))
+
+(defconst xcb:xinput:BarrierFlags:PointerReleased 1)
+(defconst xcb:xinput:BarrierFlags:DeviceIsGrabbed 2)
+
+(defclass xcb:xinput:BarrierHit
+ (xcb:-generic-event)
+ ((~evtype :initform 25)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (eventid :initarg :eventid :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (barrier :initarg :barrier :type xcb:xfixes:BARRIER)
+ (dtime :initarg :dtime :type xcb:CARD32)
+ (flags :initarg :flags :type xcb:CARD32)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (dx :initarg :dx :type xcb:xinput:FP3232)
+ (dy :initarg :dy :type xcb:xinput:FP3232)))
+
+(defclass xcb:xinput:BarrierLeave
+ (xcb:xinput:BarrierHit)
+ ((~evtype :initform 26)))
+
+(defconst xcb:xinput:GesturePinchEventFlags:GesturePinchCancelled 1)
+
+(defclass xcb:xinput:GesturePinchBegin
+ (xcb:-generic-event)
+ ((~evtype :initform 27)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (delta-x :initarg :delta-x :type xcb:xinput:FP1616)
+ (delta-y :initarg :delta-y :type xcb:xinput:FP1616)
+ (delta-unaccel-x :initarg :delta-unaccel-x :type xcb:xinput:FP1616)
+ (delta-unaccel-y :initarg :delta-unaccel-y :type xcb:xinput:FP1616)
+ (scale :initarg :scale :type xcb:xinput:FP1616)
+ (delta-angle :initarg :delta-angle :type xcb:xinput:FP1616)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (flags :initarg :flags :type xcb:CARD32)))
+
+(defclass xcb:xinput:GesturePinchUpdate
+ (xcb:xinput:GesturePinchBegin)
+ ((~evtype :initform 28)))
+
+(defclass xcb:xinput:GesturePinchEnd
+ (xcb:xinput:GesturePinchBegin)
+ ((~evtype :initform 29)))
+
+(defconst xcb:xinput:GestureSwipeEventFlags:GestureSwipeCancelled 1)
+
+(defclass xcb:xinput:GestureSwipeBegin
+ (xcb:-generic-event)
+ ((~evtype :initform 30)
+ (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
+ (time :initarg :time :type xcb:TIMESTAMP)
+ (detail :initarg :detail :type xcb:CARD32)
+ (root :initarg :root :type xcb:WINDOW)
+ (event :initarg :event :type xcb:WINDOW)
+ (child :initarg :child :type xcb:WINDOW)
+ (root-x :initarg :root-x :type xcb:xinput:FP1616)
+ (root-y :initarg :root-y :type xcb:xinput:FP1616)
+ (event-x :initarg :event-x :type xcb:xinput:FP1616)
+ (event-y :initarg :event-y :type xcb:xinput:FP1616)
+ (delta-x :initarg :delta-x :type xcb:xinput:FP1616)
+ (delta-y :initarg :delta-y :type xcb:xinput:FP1616)
+ (delta-unaccel-x :initarg :delta-unaccel-x :type xcb:xinput:FP1616)
+ (delta-unaccel-y :initarg :delta-unaccel-y :type xcb:xinput:FP1616)
+ (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
+ (pad~0 :initform 2 :type xcb:-pad)
+ (mods :initarg :mods :type xcb:xinput:ModifierInfo)
+ (group :initarg :group :type xcb:xinput:GroupInfo)
+ (flags :initarg :flags :type xcb:CARD32)))
+
+(defclass xcb:xinput:GestureSwipeUpdate
+ (xcb:xinput:GestureSwipeBegin)
+ ((~evtype :initform 31)))
+
+(defclass xcb:xinput:GestureSwipeEnd
+ (xcb:xinput:GestureSwipeBegin)
+ ((~evtype :initform 32)))
+
+(defclass xcb:xinput:EventForSend
+ (xcb:-event)
+ nil)
+
+(defclass xcb:xinput:SendExtensionEvent
+ (xcb:-request)
+ ((~opcode :initform 31 :type xcb:-u1)
+ (destination :initarg :destination :type xcb:WINDOW)
+ (device-id :initarg :device-id :type xcb:CARD8)
+ (propagate :initarg :propagate :type xcb:BOOL)
+ (num-classes :initarg :num-classes :type xcb:CARD16)
+ (num-events :initarg :num-events :type xcb:CARD8)
+ (pad~0 :initform 3 :type xcb:-pad)
+ (events~ :initform
+ '(name events type xcb:xinput:EventForSend size
+ (xcb:-fieldref 'num-events))
+ :type xcb:-list)
+ (events :initarg :events :type xcb:-ignore)
+ (classes~ :initform
+ '(name classes type xcb:xinput:EventClass size
+ (xcb:-fieldref 'num-classes))
+ :type xcb:-list)
+ (classes :initarg :classes :type xcb:-ignore)))
+
+(defclass xcb:xinput:Device
+ (xcb:-error)
+ ((~code :initform 0)))
+
+(defclass xcb:xinput:Event
+ (xcb:-error)
+ ((~code :initform 1)))
+
+(defclass xcb:xinput:Mode
+ (xcb:-error)
+ ((~code :initform 2)))
+
+(defclass xcb:xinput:DeviceBusy
+ (xcb:-error)
+ ((~code :initform 3)))
+
+(defclass xcb:xinput:Class
+ (xcb:-error)
+ ((~code :initform 4)))
+
+(defconst xcb:xinput:error-number-class-alist
+ '((0 . xcb:xinput:Device)
+ (1 . xcb:xinput:Event)
+ (2 . xcb:xinput:Mode)
+ (3 . xcb:xinput:DeviceBusy)
+ (4 . xcb:xinput:Class))
+ "(error-number . error-class) alist.")
+
+(defconst xcb:xinput:event-number-class-alist
+ '((0 . xcb:xinput:DeviceValuator)
+ (1 . xcb:xinput:DeviceKeyPress)
+ (2 . xcb:xinput:DeviceKeyRelease)
+ (3 . xcb:xinput:DeviceButtonPress)
+ (4 . xcb:xinput:DeviceButtonRelease)
+ (5 . xcb:xinput:DeviceMotionNotify)
+ (6 . xcb:xinput:DeviceFocusIn)
+ (7 . xcb:xinput:DeviceFocusOut)
+ (8 . xcb:xinput:ProximityIn)
+ (9 . xcb:xinput:ProximityOut)
+ (10 . xcb:xinput:DeviceStateNotify)
+ (11 . xcb:xinput:DeviceMappingNotify)
+ (12 . xcb:xinput:ChangeDeviceNotify)
+ (13 . xcb:xinput:DeviceKeyStateNotify)
+ (14 . xcb:xinput:DeviceButtonStateNotify)
+ (15 . xcb:xinput:DevicePresenceNotify)
+ (16 . xcb:xinput:DevicePropertyNotify))
+ "(event-number . event-class) alist.")
+
+(defconst xcb:xinput:xge-number-class-alist
+ '((1 . xcb:xinput:DeviceChanged)
+ (2 . xcb:xinput:KeyPress)
+ (3 . xcb:xinput:KeyRelease)
+ (4 . xcb:xinput:ButtonPress)
+ (5 . xcb:xinput:ButtonRelease)
+ (6 . xcb:xinput:Motion)
+ (7 . xcb:xinput:Enter)
+ (8 . xcb:xinput:Leave)
+ (9 . xcb:xinput:FocusIn)
+ (10 . xcb:xinput:FocusOut)
+ (11 . xcb:xinput:Hierarchy)
+ (12 . xcb:xinput:Property)
+ (13 . xcb:xinput:RawKeyPress)
+ (14 . xcb:xinput:RawKeyRelease)
+ (15 . xcb:xinput:RawButtonPress)
+ (16 . xcb:xinput:RawButtonRelease)
+ (17 . xcb:xinput:RawMotion)
+ (18 . xcb:xinput:TouchBegin)
+ (19 . xcb:xinput:TouchUpdate)
+ (20 . xcb:xinput:TouchEnd)
+ (21 . xcb:xinput:TouchOwnership)
+ (22 . xcb:xinput:RawTouchBegin)
+ (23 . xcb:xinput:RawTouchUpdate)
+ (24 . xcb:xinput:RawTouchEnd)
+ (25 . xcb:xinput:BarrierHit)
+ (26 . xcb:xinput:BarrierLeave)
+ (27 . xcb:xinput:GesturePinchBegin)
+ (28 . xcb:xinput:GesturePinchUpdate)
+ (29 . xcb:xinput:GesturePinchEnd)
+ (30 . xcb:xinput:GestureSwipeBegin)
+ (31 . xcb:xinput:GestureSwipeUpdate)
+ (32 . xcb:xinput:GestureSwipeEnd))
+ "(xge-number . event-class) alist.")
+
+
+
+(provide 'xcb-xinput)
+
+;;; xcb-xinput.el ends here