/usr/include/X11/extensions/XKMformat.h is in libxkbfile-dev 1:1.0.8-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | /************************************************************
Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
#ifndef _XKMFORMAT_H_
#define _XKMFORMAT_H_ 1
#include <X11/extensions/XKB.h>
#include <X11/extensions/XKBproto.h>
#include <X11/extensions/XKM.h>
typedef struct _xkmFileInfo {
CARD8 type;
CARD8 min_kc;
CARD8 max_kc;
CARD8 num_toc;
CARD16 present B16;
CARD16 pad B16;
} xkmFileInfo;
#define sz_xkmFileInfo 8
typedef struct _xkmSectionInfo {
CARD16 type B16;
CARD16 format B16;
CARD16 size B16;
CARD16 offset B16;
} xkmSectionInfo;
#define sz_xkmSectionInfo 8
typedef struct _xkmKeyTypeDesc {
CARD8 realMods;
CARD8 numLevels;
CARD16 virtualMods B16;
CARD8 nMapEntries;
CARD8 nLevelNames;
CARD8 preserve;
CARD8 pad;
} xkmKeyTypeDesc;
#define sz_xkmKeyTypeDesc 8
typedef struct _xkmKTMapEntryDesc {
CARD8 level;
CARD8 realMods;
CARD16 virtualMods B16;
} xkmKTMapEntryDesc;
#define sz_xkmKTMapEntryDesc 4
typedef struct _xkmModsDesc {
CARD8 realMods;
CARD8 pad;
CARD16 virtualMods B16;
} xkmModsDesc;
#define sz_xkmModsDesc 4
typedef struct _xkmVModMapDesc {
CARD8 key;
CARD8 pad;
CARD16 vmods B16;
} xkmVModMapDesc;
#define sz_xkmVModMapDesc 4
typedef struct _xkmSymInterpretDesc {
CARD32 sym B32;
CARD8 mods;
CARD8 match;
CARD8 virtualMod;
CARD8 flags;
CARD8 actionType;
CARD8 actionData[7];
} xkmSymInterpretDesc;
#define sz_xkmSymInterpretDesc 16
typedef struct _xkmBehaviorDesc {
CARD8 type;
CARD8 data;
CARD16 pad B16;
} xkmBehaviorDesc;
#define sz_xkmBehaviorDesc 4
typedef struct _xkmActionDesc {
CARD8 type;
CARD8 data[7];
} xkmActionDesc;
#define sz_xkmActionDesc 8
#define XkmKeyHasTypes (0x0f)
#define XkmKeyHasGroup1Type (1<<0)
#define XkmKeyHasGroup2Type (1<<1)
#define XkmKeyHasGroup3Type (1<<2)
#define XkmKeyHasGroup4Type (1<<3)
#define XkmKeyHasActions (1<<4)
#define XkmKeyHasBehavior (1<<5)
#define XkmRepeatingKey (1<<6)
#define XkmNonRepeatingKey (1<<7)
typedef struct _xkmKeySymMapDesc {
CARD8 width;
CARD8 num_groups;
CARD8 modifier_map;
CARD8 flags;
} xkmKeySymMapDesc;
#define sz_xkmKeySymMapDesc 4
typedef struct _xkmIndicatorMapDesc {
CARD8 indicator;
CARD8 flags;
CARD8 which_mods;
CARD8 real_mods;
CARD16 vmods B16;
CARD8 which_groups;
CARD8 groups;
CARD32 ctrls B32;
} xkmIndicatorMapDesc;
#define sz_xkmIndicatorMapDesc 12
typedef struct _xkmGeometryDesc {
CARD16 width_mm B16;
CARD16 height_mm B16;
CARD8 base_color_ndx;
CARD8 label_color_ndx;
CARD16 num_properties B16;
CARD16 num_colors B16;
CARD16 num_shapes B16;
CARD16 num_sections B16;
CARD16 num_doodads B16;
CARD16 num_key_aliases B16;
CARD16 pad1 B16;
} xkmGeometryDesc;
#define sz_xkmGeometryDesc 20
typedef struct _xkmPointDesc {
INT16 x B16;
INT16 y B16;
} xkmPointDesc;
#define sz_xkmPointDesc 4
typedef struct _xkmOutlineDesc {
CARD8 num_points;
CARD8 corner_radius;
CARD16 pad B16;
} xkmOutlineDesc;
#define sz_xkmOutlineDesc 4
typedef struct _xkmShapeDesc {
CARD8 num_outlines;
CARD8 primary_ndx;
CARD8 approx_ndx;
CARD8 pad;
} xkmShapeDesc;
#define sz_xkmShapeDesc 4
typedef struct _xkmSectionDesc {
INT16 top B16;
INT16 left B16;
CARD16 width B16;
CARD16 height B16;
INT16 angle B16;
CARD8 priority;
CARD8 num_rows;
CARD8 num_doodads;
CARD8 num_overlays;
CARD16 pad2 B16;
} xkmSectionDesc;
#define sz_xkmSectionDesc 16
typedef struct _xkmRowDesc {
INT16 top B16;
INT16 left B16;
CARD8 num_keys;
BOOL vertical;
CARD16 pad B16;
} xkmRowDesc;
#define sz_xkmRowDesc 8
typedef struct _xkmKeyDesc {
CARD8 name[XkbKeyNameLength];
INT16 gap B16;
CARD8 shape_ndx;
CARD8 color_ndx;
} xkmKeyDesc;
#define sz_xkmKeyDesc 8
typedef struct _xkmOverlayDesc {
CARD8 num_rows;
CARD8 pad1;
CARD16 pad2 B16;
} xkmOverlayDesc;
#define sz_xkmOverlayDesc 4
typedef struct _xkmOverlayRowDesc {
CARD8 row_under;
CARD8 num_keys;
CARD16 pad B16;
} xkmOverlayRowDesc;
#define sz_xkmOverlayRowDesc 4
typedef struct _xkmOverlayKeyDesc {
char over[XkbKeyNameLength];
char under[XkbKeyNameLength];
} xkmOverlayKeyDesc;
#define sz_xkmOverlayKeyDesc 8
typedef struct _xkmShapeDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD8 color_ndx;
CARD8 shape_ndx;
CARD16 pad B16;
CARD32 pad1 B32;
} xkmShapeDoodadDesc;
#define sz_xkmShapeDoodadDesc 16
typedef struct _xkmTextDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD16 width B16;
CARD16 height B16;
CARD8 color_ndx;
CARD8 pad1;
CARD16 pad2 B16;
} xkmTextDoodadDesc;
#define sz_xkmTextDoodadDesc 16
typedef struct _xkmIndicatorDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
CARD8 shape_ndx;
CARD8 on_color_ndx;
CARD8 off_color_ndx;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
} xkmIndicatorDoodadDesc;
#define sz_xkmIndicatorDoodadDesc 16
typedef struct _xkmLogoDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD8 color_ndx;
CARD8 shape_ndx;
CARD16 pad B16;
CARD32 pad1 B32;
} xkmLogoDoodadDesc;
#define sz_xkmLogoDoodadDesc 16
typedef struct _xkmAnyDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xkmAnyDoodadDesc;
#define sz_xkmAnyDoodadDesc 16
typedef union _xkmDoodadDesc {
xkmAnyDoodadDesc any;
xkmShapeDoodadDesc shape;
xkmTextDoodadDesc text;
xkmIndicatorDoodadDesc indicator;
xkmLogoDoodadDesc logo;
} xkmDoodadDesc;
#define sz_xkmDoodadDesc 16
#endif /* _XKMFORMAT_H_ */
|