1: #include <X/mit-copyright.h>
2:
3: /* $Header: Xkeymap.h,v 10.5 86/02/01 15:41:53 tony Rel $ */
4: /* Copyright 1985, Massachusetts Institute of Technology */
5:
6: #define X_KEYMAP_MAGIC 0372 /* magic number which must be first byte
7: of a keymap file */
8:
9: /* KeyMap: contains single-byte character bindings, or indications
10: that a keycode is actually bound in the extension or runtime table */
11:
12: typedef unsigned char KeyMapElt [16];
13:
14: #define UNBOUND (unsigned char)'\377'
15: #define EXTENSION_BOUND (unsigned char)'\376'
16: #define RUNTIME_TABLE_BOUND (unsigned char)'\375'
17: #define SingleCharBound(c) ((unsigned char)c < (unsigned char)'\375')
18:
19: /* Extension: contains multiple-byte character bindings from
20: the keymap file. Not modified at runtime. */
21:
22: typedef struct {
23: unsigned char keycode;
24: unsigned char metabits;
25: unsigned char length;
26: } ExtensionHeader;
27:
28: #define 3
29: /* since sizeof (ExtensionHeader) is 4 on some machines, e.g. Sun */
30:
31: /* macro used to iterate through the extension */
32: #define NextExtension(this) \
33: this = (ExtensionHeader *) ((char *)this + ExtensionHeaderSize + this->length)
34:
35: #define DontCareMetaBits 0377
36: /* appears in extension whenever the binding applies to all possible
37: combinations of shift/lock/meta/control keys */
Defined typedef's
Defined macros
defined in line
28; used 3 times
Usage of this include