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
116
#define XI_DevicePresenceNotify 15
118
/*********************************************************
120
* Protocol request constants
124
#define X_GetExtensionVersion 1
125
#define X_ListInputDevices 2
126
#define X_OpenDevice 3
127
#define X_CloseDevice 4
128
#define X_SetDeviceMode 5
129
#define X_SelectExtensionEvent 6
130
#define X_GetSelectedExtensionEvents 7
131
#define X_ChangeDeviceDontPropagateList 8
132
#define X_GetDeviceDontPropagateList 9
133
#define X_GetDeviceMotionEvents 10
134
#define X_ChangeKeyboardDevice 11
135
#define X_ChangePointerDevice 12
136
#define X_GrabDevice 13
137
#define X_UngrabDevice 14
138
#define X_GrabDeviceKey 15
139
#define X_UngrabDeviceKey 16
140
#define X_GrabDeviceButton 17
141
#define X_UngrabDeviceButton 18
142
#define X_AllowDeviceEvents 19
143
#define X_GetDeviceFocus 20
144
#define X_SetDeviceFocus 21
145
#define X_GetFeedbackControl 22
146
#define X_ChangeFeedbackControl 23
147
#define X_GetDeviceKeyMapping 24
148
#define X_ChangeDeviceKeyMapping 25
149
#define X_GetDeviceModifierMapping 26
150
#define X_SetDeviceModifierMapping 27
151
#define X_GetDeviceButtonMapping 28
152
#define X_SetDeviceButtonMapping 29
153
#define X_QueryDeviceState 30
154
#define X_SendExtensionEvent 31
155
#define X_DeviceBell 32
156
#define X_SetDeviceValuators 33
157
#define X_GetDeviceControl 34
158
#define X_ChangeDeviceControl 35
160
/*********************************************************
162
* Protocol request and reply structures.
164
* GetExtensionVersion.
169
CARD8 reqType; /* input extension major code */
170
CARD8 ReqType; /* always X_GetExtensionVersion */
174
} xGetExtensionVersionReq;
177
CARD8 repType; /* X_Reply */
178
CARD8 RepType; /* always X_GetExtensionVersion */
179
CARD16 sequenceNumber B16;
181
CARD16 major_version B16;
182
CARD16 minor_version B16;
184
CARD8 pad1, pad2, pad3;
189
} xGetExtensionVersionReply;
191
/*********************************************************
198
CARD8 reqType; /* input extension major code */
199
CARD8 ReqType; /* always X_ListInputDevices */
201
} xListInputDevicesReq;
204
CARD8 repType; /* X_Reply */
205
CARD8 RepType; /* always X_ListInputDevices */
206
CARD16 sequenceNumber B16;
209
CARD8 pad1, pad2, pad3;
215
} xListInputDevicesReply;
217
typedef struct _xDeviceInfo *xDeviceInfoPtr;
219
typedef struct _xAnyClassinfo *xAnyClassPtr;
221
typedef struct _xAnyClassinfo {
222
#if defined(__cplusplus) || defined(c_plusplus)
230
typedef struct _xDeviceInfo {
238
typedef struct _xKeyInfo *xKeyInfoPtr;
240
typedef struct _xKeyInfo {
241
#if defined(__cplusplus) || defined(c_plusplus)
253
typedef struct _xButtonInfo *xButtonInfoPtr;
255
typedef struct _xButtonInfo {
256
#if defined(__cplusplus) || defined(c_plusplus)
262
CARD16 num_buttons B16;
265
typedef struct _xValuatorInfo *xValuatorInfoPtr;
267
typedef struct _xValuatorInfo {
268
#if defined(__cplusplus) || defined(c_plusplus)
276
CARD32 motion_buffer_size B32;
279
typedef struct _xAxisInfo *xAxisInfoPtr;
281
typedef struct _xAxisInfo {
282
CARD32 resolution B32;
283
CARD32 min_value B32;
284
CARD32 max_value B32;
287
/*********************************************************
294
CARD8 reqType; /* input extension major code */
295
CARD8 ReqType; /* always X_OpenDevice */
298
BYTE pad1, pad2, pad3;
302
CARD8 repType; /* X_Reply */
303
CARD8 RepType; /* always X_OpenDevice */
304
CARD16 sequenceNumber B16;
307
BYTE pad1, pad2, pad3;
316
#if defined(__cplusplus) || defined(c_plusplus)
321
CARD8 event_type_base;
324
/*********************************************************
331
CARD8 reqType; /* input extension major code */
332
CARD8 ReqType; /* always X_CloseDevice */
335
BYTE pad1, pad2, pad3;
338
/*********************************************************
345
CARD8 reqType; /* input extension major code */
346
CARD8 ReqType; /* always X_SetDeviceMode */
354
CARD8 repType; /* X_Reply */
355
CARD8 RepType; /* always X_SetDeviceMode */
356
CARD16 sequenceNumber B16;
359
BYTE pad1, pad2, pad3;
365
} xSetDeviceModeReply;
367
/*********************************************************
369
* SelectExtensionEvent.
374
CARD8 reqType; /* input extension major code */
375
CARD8 ReqType; /* always X_SelectExtensionEvent */
380
} xSelectExtensionEventReq;
382
/*********************************************************
384
* GetSelectedExtensionEvent.
389
CARD8 reqType; /* input extension major code */
390
CARD8 ReqType; /* X_GetSelectedExtensionEvents */
393
} xGetSelectedExtensionEventsReq;
396
CARD8 repType; /* X_Reply */
397
CARD8 RepType; /* GetSelectedExtensionEvents */
398
CARD16 sequenceNumber B16;
400
CARD16 this_client_count B16;
401
CARD16 all_clients_count B16;
407
} xGetSelectedExtensionEventsReply;
409
/*********************************************************
411
* ChangeDeviceDontPropagateList.
416
CARD8 reqType; /* input extension major code */
417
CARD8 ReqType; /* X_ChangeDeviceDontPropagateList */
423
} xChangeDeviceDontPropagateListReq;
425
/*********************************************************
427
* GetDeviceDontPropagateList.
432
CARD8 reqType; /* input extension major code */
433
CARD8 ReqType; /* X_GetDeviceDontPropagateList */
436
} xGetDeviceDontPropagateListReq;
439
CARD8 repType; /* X_Reply */
440
CARD8 RepType; /* GetDeviceDontPropagateList */
441
CARD16 sequenceNumber B16;
450
} xGetDeviceDontPropagateListReply;
452
/*********************************************************
454
* GetDeviceMotionEvents.
459
CARD8 reqType; /* input extension major code */
460
CARD8 ReqType; /* always X_GetDeviceMotionEvents*/
465
BYTE pad1, pad2, pad3;
466
} xGetDeviceMotionEventsReq;
469
CARD8 repType; /* X_Reply */
470
CARD8 RepType; /* always X_GetDeviceMotionEvents */
471
CARD16 sequenceNumber B16;
481
} xGetDeviceMotionEventsReply;
483
/*********************************************************
485
* ChangeKeyboardDevice.
490
CARD8 reqType; /* input extension major code */
491
CARD8 ReqType; /* X_ChangeKeyboardDevice */
494
BYTE pad1, pad2, pad3;
495
} xChangeKeyboardDeviceReq;
498
CARD8 repType; /* X_Reply */
499
CARD8 RepType; /* always X_ChangeKeyboardDevice*/
500
CARD16 sequenceNumber B16;
501
CARD32 length B32; /* 0 */
503
BYTE pad1, pad2, pad3;
509
} xChangeKeyboardDeviceReply;
511
/*********************************************************
513
* ChangePointerDevice.
518
CARD8 reqType; /* input extension major code */
519
CARD8 ReqType; /* X_ChangePointerDevice */
525
} xChangePointerDeviceReq;
528
CARD8 repType; /* X_Reply */
529
CARD8 RepType; /* always X_ChangePointerDevice */
530
CARD16 sequenceNumber B16;
531
CARD32 length B32; /* 0 */
533
BYTE pad1, pad2, pad3;
539
} xChangePointerDeviceReply;
541
/*********************************************************
548
CARD8 reqType; /* input extension major code */
549
CARD8 ReqType; /* always X_GrabDevice */
551
Window grabWindow B32;
553
CARD16 event_count B16;
554
CARD8 this_device_mode;
555
CARD8 other_devices_mode;
562
CARD8 repType; /* X_Reply */
563
CARD8 RepType; /* always X_GrabDevice */
564
CARD16 sequenceNumber B16;
565
CARD32 length B32; /* 0 */
567
BYTE pad1, pad2, pad3;
575
/*********************************************************
582
CARD8 reqType; /* input extension major code */
583
CARD8 ReqType; /* always X_UnGrabDevice */
587
BYTE pad1, pad2, pad3;
590
/*********************************************************
597
CARD8 reqType; /* input extension major code */
598
CARD8 ReqType; /* always X_GrabDeviceKey */
600
Window grabWindow B32;
601
CARD16 event_count B16;
602
CARD16 modifiers B16;
603
CARD8 modifier_device;
604
CARD8 grabbed_device;
606
BYTE this_device_mode;
607
BYTE other_devices_mode;
612
/*********************************************************
619
CARD8 reqType; /* input extension major code */
620
CARD8 ReqType; /* always X_UngrabDeviceKey */
622
Window grabWindow B32;
623
CARD16 modifiers B16;
624
CARD8 modifier_device;
626
CARD8 grabbed_device;
627
BYTE pad1, pad2, pad3;
628
} xUngrabDeviceKeyReq;
630
/*********************************************************
637
CARD8 reqType; /* input extension major code */
638
CARD8 ReqType; /* always X_GrabDeviceButton */
640
Window grabWindow B32;
641
CARD8 grabbed_device;
642
CARD8 modifier_device;
643
CARD16 event_count B16;
644
CARD16 modifiers B16;
645
BYTE this_device_mode;
646
BYTE other_devices_mode;
650
} xGrabDeviceButtonReq;
652
/*********************************************************
654
* UngrabDeviceButton.
659
CARD8 reqType; /* input extension major code */
660
CARD8 ReqType; /* always X_UngrabDeviceButton */
662
Window grabWindow B32;
663
CARD16 modifiers B16;
664
CARD8 modifier_device;
666
CARD8 grabbed_device;
667
BYTE pad1, pad2, pad3;
668
} xUngrabDeviceButtonReq;
670
/*********************************************************
677
CARD8 reqType; /* input extension major code */
678
CARD8 ReqType; /* always X_AllowDeviceEvents */
684
} xAllowDeviceEventsReq;
686
/*********************************************************
693
CARD8 reqType; /* input extension major code */
694
CARD8 ReqType; /* always X_GetDeviceFocus */
697
BYTE pad1, pad2, pad3;
698
} xGetDeviceFocusReq;
701
CARD8 repType; /* X_Reply */
702
CARD8 RepType; /* always X_GetDeviceFocus */
703
CARD16 sequenceNumber B16;
708
BYTE pad1, pad2, pad3;
712
} xGetDeviceFocusReply;
714
/*********************************************************
721
CARD8 reqType; /* input extension major code */
722
CARD8 ReqType; /* always X_SetDeviceFocus */
729
} xSetDeviceFocusReq;
731
/*********************************************************
733
* GetFeedbackControl.
738
CARD8 reqType; /* input extension major code */
739
CARD8 ReqType; /* X_GetFeedbackControl */
742
BYTE pad1, pad2, pad3;
743
} xGetFeedbackControlReq;
746
CARD8 repType; /* X_Reply */
747
CARD8 RepType; /* always X_GetFeedbackControl */
748
CARD16 sequenceNumber B16;
750
CARD16 num_feedbacks B16;
757
} xGetFeedbackControlReply;
760
#if defined(__cplusplus) || defined(c_plusplus)
761
CARD8 c_class; /* feedback class */
763
CARD8 class; /* feedback class */
765
CARD8 id; /* feedback id */
766
CARD16 length B16; /* feedback length */
770
#if defined(__cplusplus) || defined(c_plusplus)
780
CARD32 led_values B32;
781
BOOL global_auto_repeat;
785
BYTE auto_repeats[32];
789
#if defined(__cplusplus) || defined(c_plusplus)
798
CARD16 accelDenom B16;
799
CARD16 threshold B16;
803
#if defined(__cplusplus) || defined(c_plusplus)
804
CARD8 c_class; /* feedback class id */
806
CARD8 class; /* feedback class id */
809
CARD16 length B16; /* feedback length */
810
CARD32 resolution B32;
813
} xIntegerFeedbackState;
816
#if defined(__cplusplus) || defined(c_plusplus)
817
CARD8 c_class; /* feedback class id */
819
CARD8 class; /* feedback class id */
822
CARD16 length B16; /* feedback length */
823
CARD16 max_symbols B16;
824
CARD16 num_syms_supported B16;
825
} xStringFeedbackState;
828
#if defined(__cplusplus) || defined(c_plusplus)
829
CARD8 c_class; /* feedback class id */
831
CARD8 class; /* feedback class id */
834
CARD16 length B16; /* feedback length */
836
BYTE pad1, pad2, pad3;
839
} xBellFeedbackState;
842
#if defined(__cplusplus) || defined(c_plusplus)
843
CARD8 c_class; /* feedback class id */
845
CARD8 class; /* feedback class id */
848
CARD16 length B16; /* feedback length */
850
CARD32 led_values B32;
853
/*********************************************************
855
* ChangeFeedbackControl.
860
CARD8 reqType; /* input extension major code */
861
CARD8 ReqType; /* X_ChangeFeedbackControl */
867
} xChangeFeedbackControlReq;
870
#if defined(__cplusplus) || defined(c_plusplus)
871
CARD8 c_class; /* feedback class id */
873
CARD8 class; /* feedback class id */
875
CARD8 id; /* feedback id */
876
CARD16 length B16; /* feedback length */
880
#if defined(__cplusplus) || defined(c_plusplus)
881
CARD8 c_class; /* feedback class id */
883
CARD8 class; /* feedback class id */
885
CARD8 id; /* feedback length */
886
CARD16 length B16; /* feedback length */
888
CARD8 auto_repeat_mode;
894
CARD32 led_values B32;
898
#if defined(__cplusplus) || defined(c_plusplus)
899
CARD8 c_class; /* feedback class id */
901
CARD8 class; /* feedback class id */
903
CARD8 id; /* feedback id */
904
CARD16 length B16; /* feedback length */
912
#if defined(__cplusplus) || defined(c_plusplus)
913
CARD8 c_class; /* feedback class id */
915
CARD8 class; /* feedback class id */
917
CARD8 id; /* feedback id */
918
CARD16 length B16; /* feedback length */
919
INT32 int_to_display B32;
920
} xIntegerFeedbackCtl;
923
#if defined(__cplusplus) || defined(c_plusplus)
924
CARD8 c_class; /* feedback class id */
926
CARD8 class; /* feedback class id */
928
CARD8 id; /* feedback id */
929
CARD16 length B16; /* feedback length */
931
CARD16 num_keysyms B16;
932
} xStringFeedbackCtl;
935
#if defined(__cplusplus) || defined(c_plusplus)
936
CARD8 c_class; /* feedback class id */
938
CARD8 class; /* feedback class id */
940
CARD8 id; /* feedback id */
941
CARD16 length B16; /* feedback length */
943
BYTE pad1, pad2, pad3;
949
#if defined(__cplusplus) || defined(c_plusplus)
950
CARD8 c_class; /* feedback class id */
952
CARD8 class; /* feedback class id */
954
CARD8 id; /* feedback id */
955
CARD16 length B16; /* feedback length */
957
CARD32 led_values B32;
960
/*********************************************************
962
* GetDeviceKeyMapping.
967
CARD8 reqType; /* input extension major code */
968
CARD8 ReqType; /* always X_GetDeviceKeyMapping */
971
KeyCode firstKeyCode;
974
} xGetDeviceKeyMappingReq;
977
CARD8 repType; /* X_Reply */
978
CARD8 RepType; /* always X_GetDeviceKeyMapping */
979
CARD16 sequenceNumber B16;
981
CARD8 keySymsPerKeyCode;
989
} xGetDeviceKeyMappingReply;
991
/*********************************************************
993
* ChangeDeviceKeyMapping.
998
CARD8 reqType; /* input extension major code */
999
CARD8 ReqType; /* always X_ChangeDeviceKeyMapping */
1002
KeyCode firstKeyCode;
1003
CARD8 keySymsPerKeyCode;
1005
} xChangeDeviceKeyMappingReq;
1007
/*********************************************************
1009
* GetDeviceModifierMapping.
1014
CARD8 reqType; /* input extension major code */
1015
CARD8 ReqType; /* always X_GetDeviceModifierMapping */
1018
BYTE pad1, pad2, pad3;
1019
} xGetDeviceModifierMappingReq;
1022
CARD8 repType; /* X_Reply */
1023
CARD8 RepType; /* always X_GetDeviceModifierMapping */
1024
CARD16 sequenceNumber B16;
1026
CARD8 numKeyPerModifier;
1034
} xGetDeviceModifierMappingReply;
1036
/*********************************************************
1038
* SetDeviceModifierMapping.
1043
CARD8 reqType; /* input extension major code */
1044
CARD8 ReqType; /* always X_SetDeviceModifierMapping */
1047
CARD8 numKeyPerModifier;
1049
} xSetDeviceModifierMappingReq;
1052
CARD8 repType; /* X_Reply */
1053
CARD8 RepType; /* always X_SetDeviceModifierMapping */
1054
CARD16 sequenceNumber B16;
1064
} xSetDeviceModifierMappingReply;
1066
/*********************************************************
1068
* GetDeviceButtonMapping.
1073
CARD8 reqType; /* input extension major code */
1074
CARD8 ReqType; /* X_GetDeviceButtonMapping */
1077
BYTE pad1, pad2, pad3;
1078
} xGetDeviceButtonMappingReq;
1081
CARD8 repType; /* X_Reply */
1082
CARD8 RepType; /* always X_GetDeviceButtonMapping */
1083
CARD16 sequenceNumber B16;
1086
BYTE pad1, pad2, pad3;
1092
} xGetDeviceButtonMappingReply;
1094
/*********************************************************
1096
* SetDeviceButtonMapping.
1101
CARD8 reqType; /* input extension major code */
1102
CARD8 ReqType; /* X_SetDeviceButtonMapping */
1107
} xSetDeviceButtonMappingReq;
1110
CARD8 repType; /* X_Reply */
1111
CARD8 RepType; /* always X_SetDeviceButtonMapping */
1112
CARD16 sequenceNumber B16;
1122
} xSetDeviceButtonMappingReply;
1124
/*********************************************************
1132
CARD8 ReqType; /* always X_QueryDeviceState */
1135
BYTE pad1, pad2, pad3;
1136
} xQueryDeviceStateReq;
1139
CARD8 repType; /* X_Reply */
1140
CARD8 RepType; /* always X_QueryDeviceState */
1141
CARD16 sequenceNumber B16;
1151
} xQueryDeviceStateReply;
1154
#if defined(__cplusplus) || defined(c_plusplus)
1166
#if defined(__cplusplus) || defined(c_plusplus)
1178
#if defined(__cplusplus) || defined(c_plusplus)
1184
CARD8 num_valuators;
1188
/*********************************************************
1190
* SendExtensionEvent.
1191
* THIS REQUEST MUST BE KEPT A MULTIPLE OF 8 BYTES IN LENGTH!
1192
* MORE EVENTS MAY FOLLOW AND THEY MUST BE QUAD-ALIGNED!
1198
CARD8 ReqType; /* always X_SendExtensionEvent */
1200
Window destination B32;
1205
BYTE pad1,pad2,pad3;
1206
} xSendExtensionEventReq;
1208
/*********************************************************
1216
CARD8 ReqType; /* always X_DeviceBell */
1220
CARD8 feedbackclass;
1224
/*********************************************************
1226
* SetDeviceValuators.
1231
CARD8 reqType; /* input extension major code */
1232
CARD8 ReqType; /* always X_SetDeviceValuators */
1235
CARD8 first_valuator;
1236
CARD8 num_valuators;
1238
} xSetDeviceValuatorsReq;
1241
CARD8 repType; /* X_Reply */
1242
CARD8 RepType; /* always X_SetDeviceValuators */
1243
CARD16 sequenceNumber B16;
1246
BYTE pad1, pad2, pad3;
1252
} xSetDeviceValuatorsReply;
1254
/*********************************************************
1261
CARD8 reqType; /* input extension major code */
1262
CARD8 ReqType; /* always X_GetDeviceControl */
1267
} xGetDeviceControlReq;
1270
CARD8 repType; /* X_Reply */
1271
CARD8 RepType; /* always X_GetDeviceControl */
1272
CARD16 sequenceNumber B16;
1275
BYTE pad1, pad2, pad3;
1281
} xGetDeviceControlReply;
1284
CARD16 control B16; /* control type */
1285
CARD16 length B16; /* control length */
1289
CARD16 control B16; /* control type */
1290
CARD16 length B16; /* control length */
1291
CARD32 num_valuators B32; /* number of valuators */
1292
} xDeviceResolutionState;
1303
CARD32 rotation B32;
1304
CARD32 button_threshold B32;
1305
} xDeviceAbsCalibState;
1310
CARD32 offset_x B32;
1311
CARD32 offset_y B32;
1315
CARD32 following B32;
1316
} xDeviceAbsAreaState;
1319
CARD16 control B16; /* control type */
1320
CARD16 length B16; /* control length */
1327
CARD16 control B16; /* control type */
1328
CARD16 length B16; /* control length */
1332
} xDeviceEnableState;
1334
/*********************************************************
1336
* ChangeDeviceControl.
1341
CARD8 reqType; /* input extension major code */
1342
CARD8 ReqType; /* always X_ChangeDeviceControl */
1347
} xChangeDeviceControlReq;
1350
CARD8 repType; /* X_Reply */
1351
CARD8 RepType; /* always X_ChangeDeviceControl */
1352
CARD16 sequenceNumber B16;
1355
BYTE pad1, pad2, pad3;
1361
} xChangeDeviceControlReply;
1364
CARD16 control B16; /* control type */
1365
CARD16 length B16; /* control length */
1369
CARD16 control B16; /* control type */
1370
CARD16 length B16; /* control length */
1371
CARD8 first_valuator; /* first valuator to change */
1372
CARD8 num_valuators; /* number of valuators to change*/
1374
} xDeviceResolutionCtl;
1386
CARD32 button_threshold;
1387
} xDeviceAbsCalibCtl;
1398
} xDeviceAbsAreaCtl;
1416
/**********************************************************
1418
* Input extension events.
1428
CARD16 sequenceNumber B16;
1429
KeyButMask device_state B16;
1430
CARD8 num_valuators;
1431
CARD8 first_valuator;
1432
INT32 valuator0 B32;
1433
INT32 valuator1 B32;
1434
INT32 valuator2 B32;
1435
INT32 valuator3 B32;
1436
INT32 valuator4 B32;
1437
INT32 valuator5 B32;
1440
/**********************************************************
1442
* DeviceKeyButtonPointer.
1444
* Used for: DeviceKeyPress, DeviceKeyRelease,
1445
* DeviceButtonPress, DeviceButtonRelease,
1446
* ProximityIn, ProximityOut
1447
* DeviceMotionNotify,
1455
CARD16 sequenceNumber B16;
1464
KeyButMask state B16;
1467
} deviceKeyButtonPointer;
1469
/**********************************************************
1479
CARD16 sequenceNumber B16;
1491
/**********************************************************
1493
* DeviceStateNotify.
1495
* Note that the two high-order bits in the classes_reported
1496
* field are the proximity state (InProximity or OutOfProximity),
1497
* and the device mode (Absolute or Relative), respectively.
1505
CARD16 sequenceNumber B16;
1509
CARD8 num_valuators;
1510
CARD8 classes_reported;
1513
INT32 valuator0 B32;
1514
INT32 valuator1 B32;
1515
INT32 valuator2 B32;
1516
} deviceStateNotify;
1518
/**********************************************************
1520
* DeviceKeyStateNotify.
1528
CARD16 sequenceNumber B16;
1530
} deviceKeyStateNotify;
1532
/**********************************************************
1534
* DeviceButtonStateNotify.
1542
CARD16 sequenceNumber B16;
1544
} deviceButtonStateNotify;
1546
/**********************************************************
1548
* DeviceMappingNotify.
1549
* Fields must be kept in sync with core mappingnotify event.
1557
CARD16 sequenceNumber B16;
1559
KeyCode firstKeyCode;
1568
} deviceMappingNotify;
1570
/**********************************************************
1572
* ChangeDeviceNotify.
1580
CARD16 sequenceNumber B16;
1583
BYTE pad1, pad2, pad3;
1589
} changeDeviceNotify;
1591
/**********************************************************
1593
* devicePresenceNotify.
1601
CARD16 sequenceNumber B16;
1603
BYTE devchange; /* Device{Added|Removed|Enabled|Disabled} */
1611
} devicePresenceNotify;