Annotation of coherent/a/usr/include.b4ps2/sys/kb.h, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Version 4.0
        !             3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * kb.h:       Keyboard definitions and constants for user configurable
        !             8:  *             AT keyboard driver.
        !             9:  *
        !            10:  *             Version 1.2,  07/09/92
        !            11:  */
        !            12: #ifndef        KB_H
        !            13: #define        KB_H
        !            14: 
        !            15: /*
        !            16:  * ASCII Macro Definitions - stolen from <ascii.h>
        !            17:  */
        !            18: #define nul    0x00    /* Null                 */
        !            19: #define soh    0x01    /* Start Of Header      */
        !            20: #define stx    0x02    /* Start Of Text        */
        !            21: #define etx    0x03    /* End Of Text          */
        !            22: #define eot    0x04    /* End Of Transmission  */
        !            23: #define enq    0x05    /* Enquiry              */
        !            24: #define ack    0x06    /* Acknowledge          */
        !            25: #define bel    0x07    /* Bell                 */
        !            26: #define bs     0x08    /* Backspace            */
        !            27: #define ht     0x09    /* Horizontal Tab       */
        !            28: #define nl     0x0A    /* New Line (line feed) */
        !            29: #define lf     0x0A    /* Line Feed (newline)  */
        !            30: #define vt     0x0B    /* Vertical Tabulation  */
        !            31: #define ff     0x0C    /* Form Feed            */
        !            32: #define cr     0x0D    /* Carriage Return      */
        !            33: #define so     0x0E    /* Stand Out            */
        !            34: #define si     0x0F    /* Stand In             */
        !            35: #define dle    0x10    /* Data Link Escape     */
        !            36: #define dc1    0x11    /* Data Ctrl 1 - XON    */
        !            37: #define dc2    0x12    /* Data Ctrl 2          */
        !            38: #define dc3    0x13    /* Data Ctrl 3 - XOFF   */
        !            39: #define dc4    0x14    /* Data Ctrl 4          */
        !            40: #define nak    0x15    /* Negative Acknowledge */
        !            41: #define syn    0x16    /* Synchronization      */
        !            42: #define etb    0x17    /* End of Trans. Block  */
        !            43: #define can    0x18    /* Cancel               */
        !            44: #define em     0x19    /* End of Medium        */
        !            45: #define sub    0x1A    /* Substitute           */
        !            46: #define esc    0x1B    /* Escape               */
        !            47: #define fs     0x1C    /* Form Sep.            */
        !            48: #define gs     0x1D    /* Group Sep.           */
        !            49: #define rs     0x1E    /* Record Sep.          */
        !            50: #define us     0x1F    /* Unit Sep.            */
        !            51: #define del    0x7F    /* Delete               */
        !            52: #define rub    0x7F    /* Rubout (Delete)      */
        !            53: 
        !            54: /*
        !            55:  * special and shift keys
        !            56:  */
        !            57: #define        none    0xFF    /* no key value */
        !            58: #define        scroll  1       /* SCROLL lock key */
        !            59: #define        num     2       /* NUM lock key */
        !            60: #define        caps    3       /* CAPS lock key */
        !            61: #define        lalt    4       /* left ALT key */
        !            62: #define        ralt    5       /* right ALT key */
        !            63: #define        lshift  6       /* left SHIFT key */
        !            64: #define        rshift  7       /* right SHIFT key */
        !            65: #define        lctrl   8       /* left CTRL key */
        !            66: #define        rctrl   9       /* right CTRL key */
        !            67: #define        altgr   10      /* ALT GR. key */
        !            68: 
        !            69: /*
        !            70:  * flag/mode field definitions
        !            71:  */
        !            72: #define        O       0       /* OFF: no special processing */
        !            73: #define        N       0x01    /* NUM lock applies */
        !            74: #define        C       0x02    /* CAP lock applies */
        !            75: #define        F       0x04    /* programmable function key */
        !            76: #define        S       0x08    /* shift key (from above list) */
        !            77: /*             0x10       available */
        !            78: /*             0x20       available */
        !            79: #define        TMODE   0xC0    /* key mode mask (T, M, MB, TMB) */
        !            80: #define        M       0x00    /* "Make" only */
        !            81: #define        T       0x40    /* "Typematic" mode */
        !            82: #define        MB      0x80    /* "Make/Break" mode */
        !            83: #define        TMB     0xC0    /* "Typematic/Make/Break" mode */
        !            84: 
        !            85: /*
        !            86:  * function key definitions
        !            87:  */
        !            88: #define        reboot  f0      /* reboot system */
        !            89: #define        f0      0       /* function key 0 */
        !            90: #define        f1      1       /* function key 1 */
        !            91: #define        f2      2       /* function key 2 */
        !            92: #define        f3      3       /* function key 3 */
        !            93: #define        f4      4       /* function key 4 */
        !            94: #define        f5      5       /* function key 5 */
        !            95: #define        f6      6       /* function key 6 */
        !            96: #define        f7      7       /* function key 7 */
        !            97: #define        f8      8       /* function key 8 */
        !            98: #define        f9      9       /* function key 9 */
        !            99: #define        f10     10      /* function key 10 */
        !           100: #define        f11     11      /* function key 11 */
        !           101: #define        f12     12      /* function key 12 */
        !           102: #define        f13     13      /* function key 13 */
        !           103: #define        f14     14      /* function key 14 */
        !           104: #define        f15     15      /* function key 15 */
        !           105: #define        f16     16      /* function key 16 */
        !           106: #define        f17     17      /* function key 17 */
        !           107: #define        f18     18      /* function key 18 */
        !           108: #define        f19     19      /* function key 19 */
        !           109: #define        f20     20      /* function key 20 */
        !           110: #define        f21     21      /* function key 21 */
        !           111: #define        f22     22      /* function key 22 */
        !           112: #define        f23     23      /* function key 23 */
        !           113: #define        f24     24      /* function key 24 */
        !           114: #define        f25     25      /* function key 25 */
        !           115: #define        f26     26      /* function key 26 */
        !           116: #define        f27     27      /* function key 27 */
        !           117: #define        f28     28      /* function key 28 */
        !           118: #define        f29     29      /* function key 29 */
        !           119: #define        f30     30      /* function key 30 */
        !           120: #define        f31     31      /* function key 31 */
        !           121: #define        f32     32      /* function key 32 */
        !           122: #define        f33     33      /* function key 33 */
        !           123: #define        f34     34      /* function key 34 */
        !           124: #define        f35     35      /* function key 35 */
        !           125: #define        f36     36      /* function key 36 */
        !           126: #define        f37     37      /* function key 37 */
        !           127: #define        f38     38      /* function key 38 */
        !           128: #define        f39     39      /* function key 39 */
        !           129: #define        f40     40      /* function key 40 */
        !           130: #define        f41     41      /* function key 41 */
        !           131: #define        f42     42      /* function key 42 */
        !           132: #define        f43     43      /* function key 43 */
        !           133: #define        f44     44      /* function key 44 */
        !           134: #define        f45     45      /* function key 45 */
        !           135: #define        f46     46      /* function key 46 */
        !           136: #define        f47     47      /* function key 47 */
        !           137: #define        f48     48      /* function key 48 */
        !           138: #define        f49     49      /* function key 49 */
        !           139: #define        f50     50      /* function key 50 */
        !           140: #define        f51     51      /* function key 51 */
        !           141: #define        f52     52      /* function key 52 */
        !           142: #define        f53     53      /* function key 53 */
        !           143: #define        f54     54      /* function key 54 */
        !           144: #define        f55     55      /* function key 55 */
        !           145: #define        f56     56      /* function key 56 */
        !           146: #define        f57     57      /* function key 57 */
        !           147: #define        f58     58      /* function key 58 */
        !           148: #define        f59     59      /* function key 59 */
        !           149: #define        f60     60      /* function key 60 */
        !           150: #define        f61     61      /* function key 61 */
        !           151: #define        f62     62      /* function key 62 */
        !           152: #define        f63     63      /* function key 63 */
        !           153: #define        f64     64      /* function key 64 */
        !           154: #define        f65     65      /* function key 65 */
        !           155: #define        f66     66      /* function key 66 */
        !           156: #define        f67     67      /* function key 67 */
        !           157: #define        f68     68      /* function key 68 */
        !           158: #define        f69     69      /* function key 69 */
        !           159: #define        f70     70      /* function key 70 */
        !           160: #define        f71     71      /* function key 71 */
        !           161: #define        f72     72      /* function key 72 */
        !           162: #define        f73     73      /* function key 73 */
        !           163: #define        f74     74      /* function key 74 */
        !           164: 
        !           165: /*
        !           166:  * table entry definition
        !           167:  */
        !           168: typedef        struct  {
        !           169:        unsigned char   k_key;          /* Scan code set 3 key value */
        !           170:        unsigned char   k_val[9];       /* key value for each mode */
        !           171:        unsigned char   k_flags;        /* flags and mode bits */
        !           172: } KBTBL;
        !           173: 
        !           174: /*
        !           175:  * Index values for k_val[] array.
        !           176:  * These are computed in the driver based upon the following weighting:
        !           177:  *
        !           178:  *     Shift Keys      bit 0
        !           179:  *     Control Keys    bit 1
        !           180:  *     Alt Keys        bit 2
        !           181:  *     Alt Graphic Key bit 3
        !           182:  *
        !           183:  * Use of the Alt Graphic key ignores other shift modes.
        !           184:  */
        !           185: #define        BASE            0
        !           186: #define        SHIFT           1
        !           187: #define        CTRL            2
        !           188: #define        CTRL_SHIFT      3
        !           189: #define        ALT             4
        !           190: #define        ALT_SHIFT       5
        !           191: #define        ALT_CTRL        6
        !           192: #define        ALT_CTRL_SHIFT  7
        !           193: #define        ALT_GR          8
        !           194: 
        !           195: /*
        !           196:  * Keyboard responses to system
        !           197:  */
        !           198: #define        K_BREAK         0xF0            /* break code prefix byte */
        !           199: #define        K_ACK           0xFA            /* Acknowledgement */
        !           200: #define        K_BAT_OK        0xAA            /* BAT Completion code */
        !           201: #define        K_BAT_BAD       0xFC            /* BAT Failure code */
        !           202: #define        K_ECHO_R        0xEE            /* Echo response */
        !           203: #define        K_DETECT_1      0xFF            /* Key detect error, code set 1 */
        !           204: #define        K_DETECT_23     0x00            /* Key detect error, code sets 2 & 3 */
        !           205: #define        K_OVERRUN_1     0xFF            /* Buffer overrun, code set 1 */
        !           206: #define        K_OVERRUN_23    0x00            /* Buffer overrun, code sets 2 & 3 */
        !           207: #define        K_RESEND        0xFE            /* Resend prior command */
        !           208: 
        !           209: /*
        !           210:  * Keyboard commands
        !           211:  */
        !           212: #define        K_LED_CMD       0xED            /* Set/reset LEDs */
        !           213: #define        K_ECHO_CMD      0xEE            /* Echo */
        !           214: #define        K_SCANCODE_CMD  0xF0            /* Select scan code set */
        !           215: #define        K_RATE_CMD      0xF3            /* Set typematic rate/delay */
        !           216: #define        K_ENABLE_CMD    0xF4            /* Enable keyboard */
        !           217: #define        K_DEFAULT_CMD   0xF6            /* Set defaults */
        !           218: #define        K_ALL_T_CMD     0xF7            /* Set all keys typematic */
        !           219: #define        K_ALL_MB_CMD    0xF8            /* Set all keys make/break */
        !           220: #define        K_ALL_M_CMD     0xF9            /* Set all keys make */
        !           221: #define        K_ALL_TMB_CMD   0xFA            /* Set all keys typematic/make/break */
        !           222: #define        K_KEY_T_CMD     0xFB            /* Set key as typematic */
        !           223: #define        K_KEY_MB_CMD    0xFC            /* Set key as make/break */
        !           224: #define        K_KEY_M_CMD     0xFD            /* Set key as make */
        !           225: #define        K_RESEND_CMD    0xFE            /* Resend */
        !           226: #define        K_RESET_CMD     0xFF            /* Reset keyboard */
        !           227: 
        !           228: /*
        !           229:  * function key definitions
        !           230:  * 
        !           231:  * Struct member k_fnval contains the actual function key values.
        !           232:  * Entries are delimited by DELIM (0xFF or '\377') to allow NUL characters to
        !           233:  * be embedded in function strings.
        !           234:  */
        !           235: typedef        struct  {
        !           236:        unsigned char   k_nfkeys;       /* number of function keys */
        !           237:        unsigned char   k_fnval[];      /* linear array of values */
        !           238: } FNKEY;
        !           239: 
        !           240: #define        MAX_KEYS        256             /* all that can fit in a char */
        !           241: #define        MAX_TABLE_SIZE  (MAX_KEYS * sizeof(KBTBL)) /* worst case table size */
        !           242: #define        MAX_FKEYS       75
        !           243: #define        MAX_FCHAR       2048            /* default Fn key arena size */
        !           244: #define        DELIM           0xFF            /* function key delimiter */
        !           245: 
        !           246: /*
        !           247: ================================================================================
        !           248: ================================================================================
        !           249: */
        !           250: 
        !           251: /*
        !           252:  * Virtual terminal key definitions.
        !           253:  * These are byte values, and MUST NOT overlap with f0..fn values above.
        !           254:  *
        !           255:  * For VTKEY test to work, virtual terminal selector values must be
        !           256:  * in a contiguous range from VTKEY_HOME to VTKEY_MAX.
        !           257:  */
        !           258: 
        !           259: #define        vt0             80
        !           260: #define        vt1             vt0+1
        !           261: #define        vt2             vt0+2
        !           262: #define        vt3             vt0+3
        !           263: #define        vt4             vt0+4
        !           264: #define        vt5             vt0+5
        !           265: #define        vt6             vt0+6
        !           266: #define        vt7             vt0+7
        !           267: #define        vt8             vt0+8
        !           268: #define        vt9             vt0+9
        !           269: #define        vt10            vt0+10
        !           270: #define        vt11            vt0+11
        !           271: #define        vt12            vt0+12
        !           272: #define        vt13            vt0+13
        !           273: #define        vt14            vt0+14
        !           274: #define        vt15            vt0+15
        !           275: 
        !           276: #define color0         vt0+16
        !           277: #define color1         color0+1
        !           278: #define color2         color0+2
        !           279: #define color3         color0+3
        !           280: #define color4         color0+4
        !           281: #define color5         color0+5
        !           282: #define color6         color0+6
        !           283: #define color7         color0+7
        !           284: #define color8         color0+8
        !           285: #define color9         color0+9
        !           286: #define color10                color0+10
        !           287: #define color11                color0+11
        !           288: #define color12                color0+12
        !           289: #define color13                color0+13
        !           290: #define color14                color0+14
        !           291: #define color15                color0+15
        !           292: 
        !           293: #define mono0          vt0+32
        !           294: #define mono1          mono0+1
        !           295: #define mono2          mono0+2
        !           296: #define mono3          mono0+3
        !           297: #define mono4          mono0+4
        !           298: #define mono5          mono0+5
        !           299: #define mono6          mono0+6
        !           300: #define mono7          mono0+7
        !           301: #define mono8          mono0+8
        !           302: #define mono9          mono0+9
        !           303: #define mono10         mono0+10
        !           304: #define mono11         mono0+11
        !           305: #define mono12         mono0+12
        !           306: #define mono13         mono0+13
        !           307: #define mono14         mono0+14
        !           308: #define mono15         mono0+15
        !           309: 
        !           310: /*
        !           311:  * vtn - next logical session (increasing minor numbers)
        !           312:  * vtp - previous logical session (decreasing minor numbers)
        !           313:  * vtt - toggle current with latest session
        !           314:  */
        !           315: #define        vtn             vt0+48
        !           316: #define        vtp             vt0+49
        !           317: #define        vtt             vt0+50
        !           318: 
        !           319: #define        VTKEY_HOME      vt0
        !           320: #define        VTKEY_NEXT      vtn
        !           321: #define        VTKEY_PREV      vtp
        !           322: #define        VTKEY_TOGL      vtt
        !           323: #define        VTKEY_MAX       vtt
        !           324: 
        !           325: #define        VTKEY(x)        ((x)>=VTKEY_HOME && (x)<=VTKEY_MAX)
        !           326: 
        !           327: /*
        !           328:  * function key definitions
        !           329:  * 
        !           330:  * Struct member k_fnval contains the actual function key values.
        !           331:  * Entries are delimited by DELIM (0xFF or '\377') to allow NUL characters to
        !           332:  * be embedded in function strings.
        !           333:  */
        !           334: 
        !           335: #define        VNKB_FALSE      0
        !           336: #define        VNKB_TRUE       1
        !           337: #ifdef KERNEL
        !           338: 
        !           339: /*
        !           340:  * patchable params for non-standard keyboards
        !           341:  */
        !           342: extern int     KBDATA;                 /* Keyboard data */
        !           343: extern int     KBCTRL;                 /* Keyboard control */
        !           344: extern int     KBSTS_CMD;              /* Keyboard status/command */
        !           345: extern int     KBFLAG;                 /* Keyboard reset flag */
        !           346: extern int     KBBOOT;                 /* 0: disallow reboot from keyboard */
        !           347: extern int     KBTIMEOUT;              /* shouldn't need this much */
        !           348: extern int     KBCMDBYTE;              /* no translation */
        !           349: 
        !           350: #ifndef        _I386
        !           351: extern SEG     *kbsegp;                /* keyboard table segment */
        !           352: #endif
        !           353: extern int     isbusy;                 /* Raw input conversion busy */
        !           354: extern int     vt_kb_state, vt_kb_cmd2, vt_kb_prev_cmd;
        !           355: 
        !           356: #if    VT_MAJOR != KB_MAJOR
        !           357: extern Ksetivec(), Kisrint();
        !           358: extern Kclrivec();
        !           359: #endif
        !           360: 
        !           361: #endif /* KERNEL */
        !           362: /*
        !           363: ================================================================================
        !           364: ================================================================================
        !           365: */
        !           366: 
        !           367: #endif /* KB_H */
        !           368: /* end of kb.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.