1 /* $XConsortium: XKBproto.h /main/22 1996/09/28 16:18:24 rws $ */
2 /************************************************************
3 Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
5 Permission to use, copy, modify, and distribute this
6 software and its documentation for any purpose and without
7 fee is hereby granted, provided that the above copyright
8 notice appear in all copies and that both that copyright
9 notice and this permission notice appear in supporting
10 documentation, and that the name of Silicon Graphics not be
11 used in advertising or publicity pertaining to distribution
12 of the software without specific prior written permission.
13 Silicon Graphics makes no representation about the suitability
14 of this software for any purpose. It is provided "as is"
15 without any express or implied warranty.
17 SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
18 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
19 AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
20 GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
21 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
22 DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
23 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
24 THE USE OR PERFORMANCE OF THIS SOFTWARE.
26 ********************************************************/
32 #include <X11/extensions/XKB.h>
40 #define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
42 typedef struct _xkbUseExtension {
44 CARD8 xkbReqType; /* always X_KBUseExtension */
46 CARD16 wantedMajor B16;
47 CARD16 wantedMinor B16;
49 #define sz_xkbUseExtensionReq 8
51 typedef struct _xkbUseExtensionReply {
52 BYTE type; /* X_Reply */
54 CARD16 sequenceNumber B16;
56 CARD16 serverMajor B16;
57 CARD16 serverMinor B16;
63 } xkbUseExtensionReply;
64 #define sz_xkbUseExtensionReply 32
66 typedef struct _xkbSelectEvents {
68 CARD8 xkbReqType; /* X_KBSelectEvents */
70 CARD16 deviceSpec B16;
71 CARD16 affectWhich B16;
77 #define sz_xkbSelectEventsReq 16
79 typedef struct _xkbBell {
81 CARD8 xkbReqType; /* X_KBBell */
83 CARD16 deviceSpec B16;
96 #define sz_xkbBellReq 28
98 typedef struct _xkbGetState {
100 CARD8 xkbReqType; /* always X_KBGetState */
102 CARD16 deviceSpec B16;
105 #define sz_xkbGetStateReq 8
107 typedef struct _xkbGetStateReply {
110 CARD16 sequenceNumber B16;
119 INT16 latchedGroup B16;
122 CARD8 compatGrabMods;
124 CARD8 compatLookupMods;
126 CARD16 ptrBtnState B16;
130 #define sz_xkbGetStateReply 32
132 typedef struct _xkbLatchLockState {
134 CARD8 xkbReqType; /* always X_KBLatchLockState */
136 CARD16 deviceSpec B16;
137 CARD8 affectModLocks;
141 CARD8 affectModLatches;
145 INT16 groupLatch B16;
146 } xkbLatchLockStateReq;
147 #define sz_xkbLatchLockStateReq 16
149 typedef struct _xkbGetControls {
151 CARD8 xkbReqType; /* always X_KBGetControls */
153 CARD16 deviceSpec B16;
156 #define sz_xkbGetControlsReq 8
158 typedef struct _xkbGetControlsReply {
159 BYTE type; /* X_Reply */
161 CARD16 sequenceNumber B16;
167 CARD8 ignoreLockMods;
168 CARD8 internalRealMods;
169 CARD8 ignoreLockRealMods;
171 CARD16 internalVMods B16;
172 CARD16 ignoreLockVMods B16;
173 CARD16 repeatDelay B16;
174 CARD16 repeatInterval B16;
175 CARD16 slowKeysDelay B16;
176 CARD16 debounceDelay B16;
178 CARD16 mkInterval B16;
179 CARD16 mkTimeToMax B16;
180 CARD16 mkMaxSpeed B16;
182 CARD16 axOptions B16;
183 CARD16 axTimeout B16;
184 CARD16 axtOptsMask B16;
185 CARD16 axtOptsValues B16;
187 CARD32 axtCtrlsMask B32;
188 CARD32 axtCtrlsValues B32;
189 CARD32 enabledCtrls B32;
190 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
191 } xkbGetControlsReply;
192 #define sz_xkbGetControlsReply 92
194 typedef struct _xkbSetControls {
196 CARD8 xkbReqType; /* always X_KBSetControls */
198 CARD16 deviceSpec B16;
199 CARD8 affectInternalMods;
201 CARD8 affectIgnoreLockMods;
202 CARD8 ignoreLockMods;
203 CARD16 affectInternalVMods B16;
204 CARD16 internalVMods B16;
205 CARD16 affectIgnoreLockVMods B16;
206 CARD16 ignoreLockVMods B16;
209 CARD16 axOptions B16;
211 CARD32 affectEnabledCtrls B32;
212 CARD32 enabledCtrls B32;
213 CARD32 changeCtrls B32;
214 CARD16 repeatDelay B16;
215 CARD16 repeatInterval B16;
216 CARD16 slowKeysDelay B16;
217 CARD16 debounceDelay B16;
219 CARD16 mkInterval B16;
220 CARD16 mkTimeToMax B16;
221 CARD16 mkMaxSpeed B16;
223 CARD16 axTimeout B16;
224 CARD32 axtCtrlsMask B32;
225 CARD32 axtCtrlsValues B32;
226 CARD16 axtOptsMask B16;
227 CARD16 axtOptsValues B16;
228 BYTE perKeyRepeat[XkbPerKeyBitArraySize];
230 #define sz_xkbSetControlsReq 100
232 typedef struct _xkbKTMapEntryWireDesc {
237 CARD16 virtualMods B16;
239 } xkbKTMapEntryWireDesc;
240 #define sz_xkbKTMapEntryWireDesc 8
242 typedef struct _xkbKTSetMapEntryWireDesc {
245 CARD16 virtualMods B16;
246 } xkbKTSetMapEntryWireDesc;
247 #define sz_xkbKTSetMapEntryWireDesc 4
249 typedef struct _xkbModsWireDesc {
250 CARD8 mask; /* GetMap only */
252 CARD16 virtualMods B16;
254 #define sz_xkbModsWireDesc 4
256 typedef struct _xkbKeyTypeWireDesc {
259 CARD16 virtualMods B16;
264 } xkbKeyTypeWireDesc;
265 #define sz_xkbKeyTypeWireDesc 8
267 typedef struct _xkbSymMapWireDesc {
268 CARD8 ktIndex[XkbNumKbdGroups];
273 #define sz_xkbSymMapWireDesc 8
275 typedef struct _xkbVModMapWireDesc {
279 } xkbVModMapWireDesc;
280 #define sz_xkbVModMapWireDesc 4
282 typedef struct _xkbBehaviorWireDesc {
287 } xkbBehaviorWireDesc;
288 #define sz_xkbBehaviorWireDesc 4
290 typedef struct _xkbActionWireDesc {
294 #define sz_xkbActionWireDesc 8
296 typedef struct _xkbGetMap {
298 CARD8 xkbReqType; /* always X_KBGetMap */
300 CARD16 deviceSpec B16;
309 KeyCode firstKeyBehavior;
311 CARD16 virtualMods B16;
312 KeyCode firstKeyExplicit;
314 KeyCode firstModMapKey;
316 KeyCode firstVModMapKey;
320 #define sz_xkbGetMapReq 28
322 typedef struct _xkbGetMapReply {
323 CARD8 type; /* always X_Reply */
325 CARD16 sequenceNumber B16;
335 CARD16 totalSyms B16;
338 CARD16 totalActs B16;
340 KeyCode firstKeyBehavior;
342 CARD8 totalKeyBehaviors;
343 KeyCode firstKeyExplicit;
345 CARD8 totalKeyExplicit;
346 KeyCode firstModMapKey;
348 CARD8 totalModMapKeys;
349 KeyCode firstVModMapKey;
351 CARD8 totalVModMapKeys;
353 CARD16 virtualMods B16;
355 #define sz_xkbGetMapReply 40
357 #define XkbSetMapResizeTypes (1L<<0)
358 #define XkbSetMapRecomputeActions (1L<<1)
359 #define XkbSetMapAllFlags (0x3)
361 typedef struct _xkbSetMap {
363 CARD8 xkbReqType; /* always X_KBSetMap */
365 CARD16 deviceSpec B16;
374 CARD16 totalSyms B16;
377 CARD16 totalActs B16;
378 KeyCode firstKeyBehavior;
380 CARD8 totalKeyBehaviors;
381 KeyCode firstKeyExplicit;
383 CARD8 totalKeyExplicit;
384 KeyCode firstModMapKey;
386 CARD8 totalModMapKeys;
387 KeyCode firstVModMapKey;
389 CARD8 totalVModMapKeys;
390 CARD16 virtualMods B16;
392 #define sz_xkbSetMapReq 36
394 typedef struct _xkbSymInterpretWireDesc {
400 xkbActionWireDesc act;
401 } xkbSymInterpretWireDesc;
402 #define sz_xkbSymInterpretWireDesc 16
404 typedef struct _xkbGetCompatMap {
406 CARD8 xkbReqType; /* always X_KBGetCompatMap */
408 CARD16 deviceSpec B16;
413 } xkbGetCompatMapReq;
414 #define sz_xkbGetCompatMapReq 12
416 typedef struct _xkbGetCompatMapReply {
417 CARD8 type; /* always X_Reply */
419 CARD16 sequenceNumber B16;
430 } xkbGetCompatMapReply;
431 #define sz_xkbGetCompatMapReply 32
433 typedef struct _xkbSetCompatMap {
435 CARD8 xkbReqType; /* always X_KBSetCompatMap */
437 CARD16 deviceSpec B16;
439 BOOL recomputeActions;
445 } xkbSetCompatMapReq;
446 #define sz_xkbSetCompatMapReq 16
448 typedef struct _xkbGetIndicatorState {
450 CARD8 xkbReqType; /* always X_KBGetIndicatorState */
452 CARD16 deviceSpec B16;
454 } xkbGetIndicatorStateReq;
455 #define sz_xkbGetIndicatorStateReq 8
457 typedef struct _xkbGetIndicatorStateReply {
458 CARD8 type; /* always X_Reply */
460 CARD16 sequenceNumber B16;
468 } xkbGetIndicatorStateReply;
469 #define sz_xkbGetIndicatorStateReply 32
471 typedef struct _xkbGetIndicatorMap {
473 CARD8 xkbReqType; /* always X_KBGetIndicatorMap */
475 CARD16 deviceSpec B16;
478 } xkbGetIndicatorMapReq;
479 #define sz_xkbGetIndicatorMapReq 12
481 typedef struct _xkbGetIndicatorMapReply {
482 CARD8 type; /* always X_Reply */
484 CARD16 sequenceNumber B16;
487 CARD32 realIndicators B32;
494 } xkbGetIndicatorMapReply;
495 #define sz_xkbGetIndicatorMapReply 32
497 typedef struct _xkbIndicatorMapWireDesc {
504 CARD16 virtualMods B16;
506 } xkbIndicatorMapWireDesc;
507 #define sz_xkbIndicatorMapWireDesc 12
509 typedef struct _xkbSetIndicatorMap {
511 CARD8 xkbReqType; /* always X_KBSetIndicatorMap */
513 CARD16 deviceSpec B16;
516 } xkbSetIndicatorMapReq;
517 #define sz_xkbSetIndicatorMapReq 12
519 typedef struct _xkbGetNamedIndicator {
521 CARD8 xkbReqType; /* X_KBGetNamedIndicator */
523 CARD16 deviceSpec B16;
528 } xkbGetNamedIndicatorReq;
529 #define sz_xkbGetNamedIndicatorReq 16
531 typedef struct _xkbGetNamedIndicatorReply {
534 CARD16 sequenceNumber B16;
547 CARD16 virtualMods B16;
552 } xkbGetNamedIndicatorReply;
553 #define sz_xkbGetNamedIndicatorReply 32
555 typedef struct _xkbSetNamedIndicator {
557 CARD8 xkbReqType; /* X_KBSetNamedIndicator */
559 CARD16 deviceSpec B16;
574 CARD16 virtualMods B16;
576 } xkbSetNamedIndicatorReq;
577 #define sz_xkbSetNamedIndicatorReq 32
579 typedef struct _xkbGetNames {
581 CARD8 xkbReqType; /* always X_KBGetNames */
583 CARD16 deviceSpec B16;
587 #define sz_xkbGetNamesReq 12
589 typedef struct _xkbGetNamesReply {
592 CARD16 sequenceNumber B16;
599 CARD16 virtualMods B16;
602 CARD32 indicators B32;
605 CARD16 nKTLevels B16;
608 #define sz_xkbGetNamesReply 32
610 typedef struct _xkbSetNames {
612 CARD8 xkbReqType; /* always X_KBSetNames */
614 CARD16 deviceSpec B16;
615 CARD16 virtualMods B16;
621 CARD32 indicators B32;
628 CARD16 totalKTLevelNames B16;
630 #define sz_xkbSetNamesReq 28
632 typedef struct _xkbPointWireDesc {
636 #define sz_xkbPointWireDesc 4
638 typedef struct _xkbOutlineWireDesc {
642 } xkbOutlineWireDesc;
643 #define sz_xkbOutlineWireDesc 4
645 typedef struct _xkbShapeWireDesc {
652 #define sz_xkbShapeWireDesc 8
654 typedef struct _xkbSectionWireDesc {
666 } xkbSectionWireDesc;
667 #define sz_xkbSectionWireDesc 20
669 typedef struct _xkbRowWireDesc {
676 #define sz_xkbRowWireDesc 8
678 typedef struct _xkbKeyWireDesc {
679 CARD8 name[XkbKeyNameLength];
684 #define sz_xkbKeyWireDesc 8
686 typedef struct _xkbOverlayWireDesc {
691 } xkbOverlayWireDesc;
692 #define sz_xkbOverlayWireDesc 8
694 typedef struct _xkbOverlayRowWireDesc {
698 } xkbOverlayRowWireDesc;
699 #define sz_xkbOverlayRowWireDesc 4
701 typedef struct _xkbOverlayKeyWireDesc {
702 CARD8 over[XkbKeyNameLength];
703 CARD8 under[XkbKeyNameLength];
704 } xkbOverlayKeyWireDesc;
705 #define sz_xkbOverlayKeyWireDesc 8
707 typedef struct _xkbShapeDoodadWireDesc {
718 } xkbShapeDoodadWireDesc;
719 #define sz_xkbShapeDoodadWireDesc 20
721 typedef struct _xkbTextDoodadWireDesc {
733 } xkbTextDoodadWireDesc;
734 #define sz_xkbTextDoodadWireDesc 20
736 typedef struct _xkbIndicatorDoodadWireDesc {
748 } xkbIndicatorDoodadWireDesc;
749 #define sz_xkbIndicatorDoodadWireDesc 20
751 typedef struct _xkbLogoDoodadWireDesc {
762 } xkbLogoDoodadWireDesc;
763 #define sz_xkbLogoDoodadWireDesc 20
765 typedef struct _xkbAnyDoodadWireDesc {
774 } xkbAnyDoodadWireDesc;
775 #define sz_xkbAnyDoodadWireDesc 20
777 typedef union _xkbDoodadWireDesc {
778 xkbAnyDoodadWireDesc any;
779 xkbShapeDoodadWireDesc shape;
780 xkbTextDoodadWireDesc text;
781 xkbIndicatorDoodadWireDesc indicator;
782 xkbLogoDoodadWireDesc logo;
784 #define sz_xkbDoodadWireDesc 20
786 typedef struct _xkbGetGeometry {
788 CARD8 xkbReqType; /* always X_KBGetGeometry */
790 CARD16 deviceSpec B16;
794 #define sz_xkbGetGeometryReq 12
796 typedef struct _xkbGetGeometryReply {
797 CARD8 type; /* always X_Reply */
799 CARD16 sequenceNumber B16;
806 CARD16 nProperties B16;
809 CARD16 nSections B16;
811 CARD16 nKeyAliases B16;
814 } xkbGetGeometryReply;
815 #define sz_xkbGetGeometryReply 32
817 typedef struct _xkbSetGeometry {
819 CARD8 xkbReqType; /* always X_KBSetGeometry */
821 CARD16 deviceSpec B16;
827 CARD16 nProperties B16;
830 CARD16 nKeyAliases B16;
835 #define sz_xkbSetGeometryReq 28
837 typedef struct _xkbPerClientFlags {
839 CARD8 xkbReqType;/* always X_KBPerClientFlags */
841 CARD16 deviceSpec B16;
845 CARD32 ctrlsToChange B32;
846 CARD32 autoCtrls B32;
847 CARD32 autoCtrlValues B32;
848 } xkbPerClientFlagsReq;
849 #define sz_xkbPerClientFlagsReq 28
851 typedef struct _xkbPerClientFlagsReply {
852 CARD8 type; /* always X_Reply */
854 CARD16 sequenceNumber B16;
856 CARD32 supported B32;
858 CARD32 autoCtrls B32;
859 CARD32 autoCtrlValues B32;
862 } xkbPerClientFlagsReply;
863 #define sz_xkbPerClientFlagsReply 32
865 typedef struct _xkbListComponents {
867 CARD8 xkbReqType; /* always X_KBListComponents */
869 CARD16 deviceSpec B16;
871 } xkbListComponentsReq;
872 #define sz_xkbListComponentsReq 8
874 typedef struct _xkbListComponentsReply {
875 CARD8 type; /* always X_Reply */
877 CARD16 sequenceNumber B16;
880 CARD16 nKeycodes B16;
882 CARD16 nCompatMaps B16;
884 CARD16 nGeometries B16;
889 } xkbListComponentsReply;
890 #define sz_xkbListComponentsReply 32
892 typedef struct _xkbGetKbdByName {
894 CARD8 xkbReqType; /* always X_KBGetKbdByName */
896 CARD16 deviceSpec B16;
897 CARD16 need B16; /* combination of XkbGBN_* */
898 CARD16 want B16; /* combination of XkbGBN_* */
901 } xkbGetKbdByNameReq;
902 #define sz_xkbGetKbdByNameReq 12
904 typedef struct _xkbGetKbdByNameReply {
905 CARD8 type; /* always X_Reply */
907 CARD16 sequenceNumber B16;
913 CARD16 found B16; /* combination of XkbGBN_* */
914 CARD16 reported B16; /* combination of XkbAllComponents */
919 } xkbGetKbdByNameReply;
920 #define sz_xkbGetKbdByNameReply 32
922 typedef struct _xkbDeviceLedsWireDesc {
925 CARD32 namesPresent B32;
926 CARD32 mapsPresent B32;
927 CARD32 physIndicators B32;
929 } xkbDeviceLedsWireDesc;
930 #define sz_xkbDeviceLedsWireDesc 20
932 typedef struct _xkbGetDeviceInfo {
934 CARD8 xkbReqType; /* always X_KBGetDeviceInfo */
936 CARD16 deviceSpec B16;
944 } xkbGetDeviceInfoReq;
945 #define sz_xkbGetDeviceInfoReq 16
947 typedef struct _xkbGetDeviceInfoReply {
948 CARD8 type; /* always X_Reply */
950 CARD16 sequenceNumber B16;
953 CARD16 supported B16;
954 CARD16 unsupported B16;
955 CARD16 nDeviceLedFBs B16;
956 CARD8 firstBtnWanted;
962 CARD16 dfltKbdFB B16;
963 CARD16 dfltLedFB B16;
966 } xkbGetDeviceInfoReply;
967 #define sz_xkbGetDeviceInfoReply 32
969 typedef struct _xkbSetDeviceInfo {
971 CARD8 xkbReqType; /* always X_KBSetDeviceInfo */
973 CARD16 deviceSpec B16;
977 CARD16 nDeviceLedFBs B16;
978 } xkbSetDeviceInfoReq;
979 #define sz_xkbSetDeviceInfoReq 12
981 typedef struct _xkbSetDebuggingFlags {
983 CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */
985 CARD16 msgLength B16;
987 CARD32 affectFlags B32;
989 CARD32 affectCtrls B32;
991 } xkbSetDebuggingFlagsReq;
992 #define sz_xkbSetDebuggingFlagsReq 24
994 typedef struct _xkbSetDebuggingFlagsReply {
995 BYTE type; /* X_Reply */
997 CARD16 sequenceNumber B16;
999 CARD32 currentFlags B32;
1000 CARD32 currentCtrls B32;
1001 CARD32 supportedFlags B32;
1002 CARD32 supportedCtrls B32;
1005 } xkbSetDebuggingFlagsReply;
1006 #define sz_xkbSetDebuggingFlagsReply 32
1009 * X KEYBOARD EXTENSION EVENT STRUCTURES
1012 typedef struct _xkbAnyEvent {
1015 CARD16 sequenceNumber B16;
1026 #define sz_xkbAnyEvent 32
1028 typedef struct _xkbNewKeyboardNotify {
1031 CARD16 sequenceNumber B16;
1037 KeyCode oldMinKeyCode;
1038 KeyCode oldMaxKeyCode;
1047 } xkbNewKeyboardNotify;
1048 #define sz_xkbNewKeyboardNotify 32
1050 typedef struct _xkbMapNotify {
1053 CARD16 sequenceNumber B16;
1056 CARD8 ptrBtnActions;
1062 KeyCode firstKeySym;
1064 KeyCode firstKeyAct;
1066 KeyCode firstKeyBehavior;
1067 CARD8 nKeyBehaviors;
1068 KeyCode firstKeyExplicit;
1070 KeyCode firstModMapKey;
1072 KeyCode firstVModMapKey;
1074 CARD16 virtualMods B16;
1077 #define sz_xkbMapNotify 32
1079 typedef struct _xkbStateNotify {
1082 CARD16 sequenceNumber B16;
1090 INT16 baseGroup B16;
1091 INT16 latchedGroup B16;
1095 CARD8 compatGrabMods;
1097 CARD8 compatLookupMods;
1098 CARD16 ptrBtnState B16;
1105 #define sz_xkbStateNotify 32
1107 typedef struct _xkbControlsNotify {
1110 CARD16 sequenceNumber B16;
1115 CARD32 changedControls B32;
1116 CARD32 enabledControls B32;
1117 CARD32 enabledControlChanges B32;
1123 } xkbControlsNotify;
1124 #define sz_xkbControlsNotify 32
1126 typedef struct _xkbIndicatorNotify {
1129 CARD16 sequenceNumber B16;
1139 } xkbIndicatorNotify;
1140 #define sz_xkbIndicatorNotify 32
1142 typedef struct _xkbNamesNotify {
1145 CARD16 sequenceNumber B16;
1152 CARD8 firstLevelName;
1157 CARD8 changedGroupNames;
1158 CARD16 changedVirtualMods B16;
1161 CARD32 changedIndicators B32;
1164 #define sz_xkbNamesNotify 32
1166 typedef struct _xkbCompatMapNotify {
1169 CARD16 sequenceNumber B16;
1172 CARD8 changedGroups;
1175 CARD16 nTotalSI B16;
1180 } xkbCompatMapNotify;
1181 #define sz_xkbCompatMapNotify 32
1183 typedef struct _xkbBellNotify {
1186 CARD16 sequenceNumber B16;
1193 CARD16 duration B16;
1201 #define sz_xkbBellNotify 32
1203 typedef struct _xkbActionMessage {
1206 CARD16 sequenceNumber B16;
1211 BOOL keyEventFollows;
1219 #define sz_xkbActionMessage 32
1221 typedef struct _xkbAccessXNotify {
1224 CARD16 sequenceNumber B16;
1229 CARD16 slowKeysDelay B16;
1230 CARD16 debounceDelay B16;
1236 #define sz_xkbAccessXNotify 32
1238 typedef struct _xkbExtensionDeviceNotify {
1241 CARD16 sequenceNumber B16;
1246 CARD16 ledClass B16;
1248 CARD32 ledsDefined B32;
1249 CARD32 ledState B32;
1252 CARD16 supported B16;
1253 CARD16 unsupported B16;
1255 } xkbExtensionDeviceNotify;
1256 #define sz_xkbExtensionDeviceNotify 32
1258 typedef struct _xkbEvent {
1261 xkbNewKeyboardNotify new_kbd;
1263 xkbStateNotify state;
1264 xkbControlsNotify ctrls;
1265 xkbIndicatorNotify indicators;
1266 xkbNamesNotify names;
1267 xkbCompatMapNotify compat;
1269 xkbActionMessage message;
1270 xkbAccessXNotify accessx;
1271 xkbExtensionDeviceNotify device;
1274 #define sz_xkbEvent 32
1282 #endif /* _XKBPROTO_H_ */