|
|
1.1 ! root 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 ExtensionHeaderSize 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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.