1
/* $Xorg: XIproto.h,v 1.5 2001/02/09 02:03:24 xorgcvs Exp $ */
3
/************************************************************
5
Copyright 1989, 1998 The Open Group
7
Permission to use, copy, modify, distribute, and sell this software and its
8
documentation for any purpose is hereby granted without fee, provided that
9
the above copyright notice appear in all copies and that both that
10
copyright notice and this permission notice appear in supporting
13
The above copyright notice and this permission notice shall be included in
14
all copies or substantial portions of the Software.
16
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
Except as contained in this notice, the name of The Open Group shall not be
24
used in advertising or otherwise to promote the sale, use or other dealings
25
in this Software without prior written authorization from The Open Group.
27
Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
31
Permission to use, copy, modify, and distribute this software and its
32
documentation for any purpose and without fee is hereby granted,
33
provided that the above copyright notice appear in all copies and that
34
both that copyright notice and this permission notice appear in
35
supporting documentation, and that the name of Hewlett-Packard not be
36
used in advertising or publicity pertaining to distribution of the
37
software without specific, written prior permission.
39
HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
40
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
41
HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
42
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
43
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
44
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
47
********************************************************/
48
/* $XFree86: xc/include/extensions/XIproto.h,v 1.4 2001/01/17 17:53:17 dawes Exp $ */
53
#include <X11/Xproto.h>
56
/* make sure types have right sizes for protocol structures. */
61
/*********************************************************
63
* number of events, errors, and extension name.
67
#define MORE_EVENTS 0x80
68
#define DEVICE_BITS 0x7F
70
#define InputClassBits 0x3F /* bits in mode field for input classes */
71
#define ModeBitsShift 6 /* amount to shift the remaining bits */
73
#define numInputClasses 7
80
typedef struct _XExtEventInfo
87
typedef unsigned char *Pointer;
95
/*********************************************************
97
* Event constants used by library.
101
#define XI_DeviceValuator 0
102
#define XI_DeviceKeyPress 1
103
#define XI_DeviceKeyRelease 2
104
#define XI_DeviceButtonPress 3
105
#define XI_DeviceButtonRelease 4
106
#define XI_DeviceMotionNotify 5
107
#define XI_DeviceFocusIn 6
108
#define XI_DeviceFocusOut 7
109
#define XI_ProximityIn 8
110
#define XI_ProximityOut 9
111
#define XI_DeviceStateNotify 10
112
#define XI_DeviceMappingNotify 11
113
#define XI_ChangeDeviceNotify 12
114
#define XI_DeviceKeystateNotify 13
115
#define XI_DeviceButtonstateNotify 14
117
/*********************************************************
119
* Protocol request constants
123
#define X_GetExtensionVersion 1
124
#define X_ListInputDevices 2
125
#define X_OpenDevice 3
126
#define X_CloseDevice 4
127
#define X_SetDeviceMode 5
128
#define X_SelectExtensionEvent 6
129
#define X_GetSelectedExtensionEvents 7
130
#define X_ChangeDeviceDontPropagateList 8
131
#define X_GetDeviceDontPropagateList 9
132
#define X_GetDeviceMotionEvents 10
133
#define X_ChangeKeyboardDevice 11
134
#define X_ChangePointerDevice 12
135
#define X_GrabDevice 13
136
#define X_UngrabDevice 14
137
#define X_GrabDeviceKey 15
138
#define X_UngrabDeviceKey 16
139
#define X_GrabDeviceButton 17
140
#define X_UngrabDeviceButton 18
141
#define X_AllowDeviceEvents 19
142
#define X_GetDeviceFocus 20
143
#define X_SetDeviceFocus 21
144
#define X_GetFeedbackControl 22
145
#define X_ChangeFeedbackControl 23
146
#define X_GetDeviceKeyMapping 24
147
#define X_ChangeDeviceKeyMapping 25
148
#define X_GetDeviceModifierMapping 26
149
#define X_SetDeviceModifierMapping 27
150
#define X_GetDeviceButtonMapping 28
151
#define X_SetDeviceButtonMapping 29
152
#define X_QueryDeviceState 30
153
#define X_SendExtensionEvent 31
154
#define X_DeviceBell 32
155
#define X_SetDeviceValuators 33
156
#define X_GetDeviceControl 34
157
#define X_ChangeDeviceControl 35
159
/*********************************************************
161
* Protocol request and reply structures.
163
* GetExtensionVersion.
168
CARD8 reqType; /* input extension major code */
169
CARD8 ReqType; /* always X_GetExtensionVersion */
173
} xGetExtensionVersionReq;
176
CARD8 repType; /* X_Reply */
177
CARD8 RepType; /* always X_GetExtensionVersion */
178
CARD16 sequenceNumber B16;
180
CARD16 major_version B16;
181
CARD16 minor_version B16;
183
CARD8 pad1, pad2, pad3;
188
} xGetExtensionVersionReply;
190
/*********************************************************
197
CARD8 reqType; /* input extension major code */
198
CARD8 ReqType; /* always X_ListInputDevices */
200
} xListInputDevicesReq;
203
CARD8 repType; /* X_Reply */
204
CARD8 RepType; /* always X_ListInputDevices */
205
CARD16 sequenceNumber B16;
208
CARD8 pad1, pad2, pad3;
214
} xListInputDevicesReply;
216
typedef struct _xDeviceInfo *xDeviceInfoPtr;
218
typedef struct _xAnyClassinfo *xAnyClassPtr;
220
typedef struct _xAnyClassinfo {
221
#if defined(__cplusplus) || defined(c_plusplus)
229
typedef struct _xDeviceInfo {
237
typedef struct _xKeyInfo *xKeyInfoPtr;
239
typedef struct _xKeyInfo {
240
#if defined(__cplusplus) || defined(c_plusplus)
252
typedef struct _xButtonInfo *xButtonInfoPtr;
254
typedef struct _xButtonInfo {
255
#if defined(__cplusplus) || defined(c_plusplus)
261
CARD16 num_buttons B16;
264
typedef struct _xValuatorInfo *xValuatorInfoPtr;
266
typedef struct _xValuatorInfo {
267
#if defined(__cplusplus) || defined(c_plusplus)
275
CARD32 motion_buffer_size B32;
278
typedef struct _xAxisInfo *xAxisInfoPtr;
280
typedef struct _xAxisInfo {
281
CARD32 resolution B32;
282
CARD32 min_value B32;
283
CARD32 max_value B32;
286
/*********************************************************
293
CARD8 reqType; /* input extension major code */
294
CARD8 ReqType; /* always X_OpenDevice */
297
BYTE pad1, pad2, pad3;
301
CARD8 repType; /* X_Reply */
302
CARD8 RepType; /* always X_OpenDevice */
303
CARD16 sequenceNumber B16;
306
BYTE pad1, pad2, pad3;
315
#if defined(__cplusplus) || defined(c_plusplus)
320
CARD8 event_type_base;
323
/*********************************************************
330
CARD8 reqType; /* input extension major code */
331
CARD8 ReqType; /* always X_CloseDevice */
334
BYTE pad1, pad2, pad3;
337
/*********************************************************
344
CARD8 reqType; /* input extension major code */
345
CARD8 ReqType; /* always X_SetDeviceMode */
353
CARD8 repType; /* X_Reply */
354
CARD8 RepType; /* always X_SetDeviceMode */
355
CARD16 sequenceNumber B16;
358
BYTE pad1, pad2, pad3;
364
} xSetDeviceModeReply;
366
/*********************************************************
368
* SelectExtensionEvent.
373
CARD8 reqType; /* input extension major code */
374
CARD8 ReqType; /* always X_SelectExtensionEvent */
379
} xSelectExtensionEventReq;
381
/*********************************************************
383
* GetSelectedExtensionEvent.
388
CARD8 reqType; /* input extension major code */
389
CARD8 ReqType; /* X_GetSelectedExtensionEvents */
392
} xGetSelectedExtensionEventsReq;
395
CARD8 repType; /* X_Reply */
396
CARD8 RepType; /* GetSelectedExtensionEvents */
397
CARD16 sequenceNumber B16;
399
CARD16 this_client_count B16;
400
CARD16 all_clients_count B16;
406
} xGetSelectedExtensionEventsReply;
408
/*********************************************************
410
* ChangeDeviceDontPropagateList.
415
CARD8 reqType; /* input extension major code */
416
CARD8 ReqType; /* X_ChangeDeviceDontPropagateList */
422
} xChangeDeviceDontPropagateListReq;
424
/*********************************************************
426
* GetDeviceDontPropagateList.
431
CARD8 reqType; /* input extension major code */
432
CARD8 ReqType; /* X_GetDeviceDontPropagateList */
435
} xGetDeviceDontPropagateListReq;
438
CARD8 repType; /* X_Reply */
439
CARD8 RepType; /* GetDeviceDontPropagateList */
440
CARD16 sequenceNumber B16;
449
} xGetDeviceDontPropagateListReply;
451
/*********************************************************
453
* GetDeviceMotionEvents.
458
CARD8 reqType; /* input extension major code */
459
CARD8 ReqType; /* always X_GetDeviceMotionEvents*/
464
BYTE pad1, pad2, pad3;
465
} xGetDeviceMotionEventsReq;
468
CARD8 repType; /* X_Reply */
469
CARD8 RepType; /* always X_GetDeviceMotionEvents */
470
CARD16 sequenceNumber B16;
480
} xGetDeviceMotionEventsReply;
482
/*********************************************************
484
* ChangeKeyboardDevice.
489
CARD8 reqType; /* input extension major code */
490
CARD8 ReqType; /* X_ChangeKeyboardDevice */
493
BYTE pad1, pad2, pad3;
494
} xChangeKeyboardDeviceReq;
497
CARD8 repType; /* X_Reply */
498
CARD8 RepType; /* always X_ChangeKeyboardDevice*/
499
CARD16 sequenceNumber B16;
500
CARD32 length B32; /* 0 */
502
BYTE pad1, pad2, pad3;
508
} xChangeKeyboardDeviceReply;
510
/*********************************************************
512
* ChangePointerDevice.
517
CARD8 reqType; /* input extension major code */
518
CARD8 ReqType; /* X_ChangePointerDevice */
524
} xChangePointerDeviceReq;
527
CARD8 repType; /* X_Reply */
528
CARD8 RepType; /* always X_ChangePointerDevice */
529
CARD16 sequenceNumber B16;
530
CARD32 length B32; /* 0 */
532
BYTE pad1, pad2, pad3;
538
} xChangePointerDeviceReply;
540
/*********************************************************
547
CARD8 reqType; /* input extension major code */
548
CARD8 ReqType; /* always X_GrabDevice */
550
Window grabWindow B32;
552
CARD16 event_count B16;
553
CARD8 this_device_mode;
554
CARD8 other_devices_mode;
561
CARD8 repType; /* X_Reply */
562
CARD8 RepType; /* always X_GrabDevice */
563
CARD16 sequenceNumber B16;
564
CARD32 length B32; /* 0 */
566
BYTE pad1, pad2, pad3;
574
/*********************************************************
581
CARD8 reqType; /* input extension major code */
582
CARD8 ReqType; /* always X_UnGrabDevice */
586
BYTE pad1, pad2, pad3;
589
/*********************************************************
596
CARD8 reqType; /* input extension major code */
597
CARD8 ReqType; /* always X_GrabDeviceKey */
599
Window grabWindow B32;
600
CARD16 event_count B16;
601
CARD16 modifiers B16;
602
CARD8 modifier_device;
603
CARD8 grabbed_device;
605
BYTE this_device_mode;
606
BYTE other_devices_mode;
611
/*********************************************************
618
CARD8 reqType; /* input extension major code */
619
CARD8 ReqType; /* always X_UngrabDeviceKey */
621
Window grabWindow B32;
622
CARD16 modifiers B16;
623
CARD8 modifier_device;
625
CARD8 grabbed_device;
626
BYTE pad1, pad2, pad3;
627
} xUngrabDeviceKeyReq;
629
/*********************************************************
636
CARD8 reqType; /* input extension major code */
637
CARD8 ReqType; /* always X_GrabDeviceButton */
639
Window grabWindow B32;
640
CARD8 grabbed_device;
641
CARD8 modifier_device;
642
CARD16 event_count B16;
643
CARD16 modifiers B16;
644
BYTE this_device_mode;
645
BYTE other_devices_mode;
649
} xGrabDeviceButtonReq;
651
/*********************************************************
653
* UngrabDeviceButton.
658
CARD8 reqType; /* input extension major code */
659
CARD8 ReqType; /* always X_UngrabDeviceButton */
661
Window grabWindow B32;
662
CARD16 modifiers B16;
663
CARD8 modifier_device;
665
CARD8 grabbed_device;
666
BYTE pad1, pad2, pad3;
667
} xUngrabDeviceButtonReq;
669
/*********************************************************
676
CARD8 reqType; /* input extension major code */
677
CARD8 ReqType; /* always X_AllowDeviceEvents */
683
} xAllowDeviceEventsReq;
685
/*********************************************************
692
CARD8 reqType; /* input extension major code */
693
CARD8 ReqType; /* always X_GetDeviceFocus */
696
BYTE pad1, pad2, pad3;
697
} xGetDeviceFocusReq;
700
CARD8 repType; /* X_Reply */
701
CARD8 RepType; /* always X_GetDeviceFocus */
702
CARD16 sequenceNumber B16;
707
BYTE pad1, pad2, pad3;
711
} xGetDeviceFocusReply;
713
/*********************************************************
720
CARD8 reqType; /* input extension major code */
721
CARD8 ReqType; /* always X_SetDeviceFocus */
728
} xSetDeviceFocusReq;
730
/*********************************************************
732
* GetFeedbackControl.
737
CARD8 reqType; /* input extension major code */
738
CARD8 ReqType; /* X_GetFeedbackControl */
741
BYTE pad1, pad2, pad3;
742
} xGetFeedbackControlReq;
745
CARD8 repType; /* X_Reply */
746
CARD8 RepType; /* always X_GetFeedbackControl */
747
CARD16 sequenceNumber B16;
749
CARD16 num_feedbacks B16;
756
} xGetFeedbackControlReply;
759
#if defined(__cplusplus) || defined(c_plusplus)
760
CARD8 c_class; /* feedback class */
762
CARD8 class; /* feedback class */
764
CARD8 id; /* feedback id */
765
CARD16 length B16; /* feedback length */
769
#if defined(__cplusplus) || defined(c_plusplus)
779
CARD32 led_values B32;
780
BOOL global_auto_repeat;
784
BYTE auto_repeats[32];
788
#if defined(__cplusplus) || defined(c_plusplus)
797
CARD16 accelDenom B16;
798
CARD16 threshold B16;
802
#if defined(__cplusplus) || defined(c_plusplus)
803
CARD8 c_class; /* feedback class id */
805
CARD8 class; /* feedback class id */
808
CARD16 length B16; /* feedback length */
809
CARD32 resolution B32;
812
} xIntegerFeedbackState;
815
#if defined(__cplusplus) || defined(c_plusplus)
816
CARD8 c_class; /* feedback class id */
818
CARD8 class; /* feedback class id */
821
CARD16 length B16; /* feedback length */
822
CARD16 max_symbols B16;
823
CARD16 num_syms_supported B16;
824
} xStringFeedbackState;
827
#if defined(__cplusplus) || defined(c_plusplus)
828
CARD8 c_class; /* feedback class id */
830
CARD8 class; /* feedback class id */
833
CARD16 length B16; /* feedback length */
835
BYTE pad1, pad2, pad3;
838
} xBellFeedbackState;
841
#if defined(__cplusplus) || defined(c_plusplus)
842
CARD8 c_class; /* feedback class id */
844
CARD8 class; /* feedback class id */
847
CARD16 length B16; /* feedback length */
849
CARD32 led_values B32;
852
/*********************************************************
854
* ChangeFeedbackControl.
859
CARD8 reqType; /* input extension major code */
860
CARD8 ReqType; /* X_ChangeFeedbackControl */
866
} xChangeFeedbackControlReq;
869
#if defined(__cplusplus) || defined(c_plusplus)
870
CARD8 c_class; /* feedback class id */
872
CARD8 class; /* feedback class id */
874
CARD8 id; /* feedback id */
875
CARD16 length B16; /* feedback length */
879
#if defined(__cplusplus) || defined(c_plusplus)
880
CARD8 c_class; /* feedback class id */
882
CARD8 class; /* feedback class id */
884
CARD8 id; /* feedback length */
885
CARD16 length B16; /* feedback length */
887
CARD8 auto_repeat_mode;
893
CARD32 led_values B32;
897
#if defined(__cplusplus) || defined(c_plusplus)
898
CARD8 c_class; /* feedback class id */
900
CARD8 class; /* feedback class id */
902
CARD8 id; /* feedback id */
903
CARD16 length B16; /* feedback length */
911
#if defined(__cplusplus) || defined(c_plusplus)
912
CARD8 c_class; /* feedback class id */
914
CARD8 class; /* feedback class id */
916
CARD8 id; /* feedback id */
917
CARD16 length B16; /* feedback length */
918
INT32 int_to_display B32;
919
} xIntegerFeedbackCtl;
922
#if defined(__cplusplus) || defined(c_plusplus)
923
CARD8 c_class; /* feedback class id */
925
CARD8 class; /* feedback class id */
927
CARD8 id; /* feedback id */
928
CARD16 length B16; /* feedback length */
930
CARD16 num_keysyms B16;
931
} xStringFeedbackCtl;
934
#if defined(__cplusplus) || defined(c_plusplus)
935
CARD8 c_class; /* feedback class id */
937
CARD8 class; /* feedback class id */
939
CARD8 id; /* feedback id */
940
CARD16 length B16; /* feedback length */
942
BYTE pad1, pad2, pad3;
948
#if defined(__cplusplus) || defined(c_plusplus)
949
CARD8 c_class; /* feedback class id */
951
CARD8 class; /* feedback class id */
953
CARD8 id; /* feedback id */
954
CARD16 length B16; /* feedback length */
956
CARD32 led_values B32;
959
/*********************************************************
961
* GetDeviceKeyMapping.
966
CARD8 reqType; /* input extension major code */
967
CARD8 ReqType; /* always X_GetDeviceKeyMapping */
970
KeyCode firstKeyCode;
973
} xGetDeviceKeyMappingReq;
976
CARD8 repType; /* X_Reply */
977
CARD8 RepType; /* always X_GetDeviceKeyMapping */
978
CARD16 sequenceNumber B16;
980
CARD8 keySymsPerKeyCode;
988
} xGetDeviceKeyMappingReply;
990
/*********************************************************
992
* ChangeDeviceKeyMapping.
997
CARD8 reqType; /* input extension major code */
998
CARD8 ReqType; /* always X_ChangeDeviceKeyMapping */
1001
KeyCode firstKeyCode;
1002
CARD8 keySymsPerKeyCode;
1004
} xChangeDeviceKeyMappingReq;
1006
/*********************************************************
1008
* GetDeviceModifierMapping.
1013
CARD8 reqType; /* input extension major code */
1014
CARD8 ReqType; /* always X_GetDeviceModifierMapping */
1017
BYTE pad1, pad2, pad3;
1018
} xGetDeviceModifierMappingReq;
1021
CARD8 repType; /* X_Reply */
1022
CARD8 RepType; /* always X_GetDeviceModifierMapping */
1023
CARD16 sequenceNumber B16;
1025
CARD8 numKeyPerModifier;
1033
} xGetDeviceModifierMappingReply;
1035
/*********************************************************
1037
* SetDeviceModifierMapping.
1042
CARD8 reqType; /* input extension major code */
1043
CARD8 ReqType; /* always X_SetDeviceModifierMapping */
1046
CARD8 numKeyPerModifier;
1048
} xSetDeviceModifierMappingReq;
1051
CARD8 repType; /* X_Reply */
1052
CARD8 RepType; /* always X_SetDeviceModifierMapping */
1053
CARD16 sequenceNumber B16;
1063
} xSetDeviceModifierMappingReply;
1065
/*********************************************************
1067
* GetDeviceButtonMapping.
1072
CARD8 reqType; /* input extension major code */
1073
CARD8 ReqType; /* X_GetDeviceButtonMapping */
1076
BYTE pad1, pad2, pad3;
1077
} xGetDeviceButtonMappingReq;
1080
CARD8 repType; /* X_Reply */
1081
CARD8 RepType; /* always X_GetDeviceButtonMapping */
1082
CARD16 sequenceNumber B16;
1085
BYTE pad1, pad2, pad3;
1091
} xGetDeviceButtonMappingReply;
1093
/*********************************************************
1095
* SetDeviceButtonMapping.
1100
CARD8 reqType; /* input extension major code */
1101
CARD8 ReqType; /* X_SetDeviceButtonMapping */
1106
} xSetDeviceButtonMappingReq;
1109
CARD8 repType; /* X_Reply */
1110
CARD8 RepType; /* always X_SetDeviceButtonMapping */
1111
CARD16 sequenceNumber B16;
1121
} xSetDeviceButtonMappingReply;
1123
/*********************************************************
1131
CARD8 ReqType; /* always X_QueryDeviceState */
1134
BYTE pad1, pad2, pad3;
1135
} xQueryDeviceStateReq;
1138
CARD8 repType; /* X_Reply */
1139
CARD8 RepType; /* always X_QueryDeviceState */
1140
CARD16 sequenceNumber B16;
1150
} xQueryDeviceStateReply;
1153
#if defined(__cplusplus) || defined(c_plusplus)
1165
#if defined(__cplusplus) || defined(c_plusplus)
1177
#if defined(__cplusplus) || defined(c_plusplus)
1183
CARD8 num_valuators;
1187
/*********************************************************
1189
* SendExtensionEvent.
1190
* THIS REQUEST MUST BE KEPT A MULTIPLE OF 8 BYTES IN LENGTH!
1191
* MORE EVENTS MAY FOLLOW AND THEY MUST BE QUAD-ALIGNED!
1197
CARD8 ReqType; /* always X_SendExtensionEvent */
1199
Window destination B32;
1204
BYTE pad1,pad2,pad3;
1205
} xSendExtensionEventReq;
1207
/*********************************************************
1215
CARD8 ReqType; /* always X_DeviceBell */
1219
CARD8 feedbackclass;
1223
/*********************************************************
1225
* SetDeviceValuators.
1230
CARD8 reqType; /* input extension major code */
1231
CARD8 ReqType; /* always X_SetDeviceValuators */
1234
CARD8 first_valuator;
1235
CARD8 num_valuators;
1237
} xSetDeviceValuatorsReq;
1240
CARD8 repType; /* X_Reply */
1241
CARD8 RepType; /* always X_SetDeviceValuators */
1242
CARD16 sequenceNumber B16;
1245
BYTE pad1, pad2, pad3;
1251
} xSetDeviceValuatorsReply;
1253
/*********************************************************
1260
CARD8 reqType; /* input extension major code */
1261
CARD8 ReqType; /* always X_GetDeviceControl */
1266
} xGetDeviceControlReq;
1269
CARD8 repType; /* X_Reply */
1270
CARD8 RepType; /* always X_GetDeviceControl */
1271
CARD16 sequenceNumber B16;
1274
BYTE pad1, pad2, pad3;
1280
} xGetDeviceControlReply;
1283
CARD16 control B16; /* control type */
1284
CARD16 length B16; /* control length */
1288
CARD16 control B16; /* control type */
1289
CARD16 length B16; /* control length */
1290
CARD32 num_valuators B32; /* number of valuators */
1291
} xDeviceResolutionState;
1293
/*********************************************************
1295
* ChangeDeviceControl.
1300
CARD8 reqType; /* input extension major code */
1301
CARD8 ReqType; /* always X_ChangeDeviceControl */
1306
} xChangeDeviceControlReq;
1309
CARD8 repType; /* X_Reply */
1310
CARD8 RepType; /* always X_ChangeDeviceControl */
1311
CARD16 sequenceNumber B16;
1314
BYTE pad1, pad2, pad3;
1320
} xChangeDeviceControlReply;
1323
CARD16 control B16; /* control type */
1324
CARD16 length B16; /* control length */
1328
CARD16 control B16; /* control type */
1329
CARD16 length B16; /* control length */
1330
CARD8 first_valuator; /* first valuator to change */
1331
CARD8 num_valuators; /* number of valuators to change*/
1333
} xDeviceResolutionCtl;
1336
/* Merged from Metrolink tree for XINPUT stuff */
1345
CARD32 button_threshold;
1346
} xDeviceTSCalibrationCtl;
1348
/* End of merged section */
1351
/**********************************************************
1353
* Input extension events.
1363
CARD16 sequenceNumber B16;
1364
KeyButMask device_state B16;
1365
CARD8 num_valuators;
1366
CARD8 first_valuator;
1367
INT32 valuator0 B32;
1368
INT32 valuator1 B32;
1369
INT32 valuator2 B32;
1370
INT32 valuator3 B32;
1371
INT32 valuator4 B32;
1372
INT32 valuator5 B32;
1375
/**********************************************************
1377
* DeviceKeyButtonPointer.
1379
* Used for: DeviceKeyPress, DeviceKeyRelease,
1380
* DeviceButtonPress, DeviceButtonRelease,
1381
* ProximityIn, ProximityOut
1382
* DeviceMotionNotify,
1390
CARD16 sequenceNumber B16;
1399
KeyButMask state B16;
1402
} deviceKeyButtonPointer;
1404
/**********************************************************
1414
CARD16 sequenceNumber B16;
1426
/**********************************************************
1428
* DeviceStateNotify.
1430
* Note that the two high-order bits in the classes_reported
1431
* field are the proximity state (InProximity or OutOfProximity),
1432
* and the device mode (Absolute or Relative), respectively.
1440
CARD16 sequenceNumber B16;
1444
CARD8 num_valuators;
1445
CARD8 classes_reported;
1448
INT32 valuator0 B32;
1449
INT32 valuator1 B32;
1450
INT32 valuator2 B32;
1451
} deviceStateNotify;
1453
/**********************************************************
1455
* DeviceKeyStateNotify.
1463
CARD16 sequenceNumber B16;
1465
} deviceKeyStateNotify;
1467
/**********************************************************
1469
* DeviceButtonStateNotify.
1477
CARD16 sequenceNumber B16;
1479
} deviceButtonStateNotify;
1481
/**********************************************************
1483
* DeviceMappingNotify.
1484
* Fields must be kept in sync with core mappingnotify event.
1492
CARD16 sequenceNumber B16;
1494
KeyCode firstKeyCode;
1503
} deviceMappingNotify;
1505
/**********************************************************
1507
* ChangeDeviceNotify.
1515
CARD16 sequenceNumber B16;
1518
BYTE pad1, pad2, pad3;
1524
} changeDeviceNotify;