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 */

Defined typedef's

KeyMapElt defined in line 12; used 4 times

Defined macros

EXTENSION_BOUND defined in line 15; used 2 times
ExtensionHeaderSize defined in line 28; used 3 times
NextExtension defined in line 32; used 1 times
RUNTIME_TABLE_BOUND defined in line 16; used 4 times
UNBOUND defined in line 14; used 4 times

Usage of this include

Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1126
Valid CSS Valid XHTML 1.0 Strict