|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1988 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that the above copyright notice and this paragraph are ! 7: * duplicated in all such forms and that any documentation, ! 8: * advertising materials, and other materials related to such ! 9: * distribution and use acknowledge that the software was developed ! 10: * by the University of California, Berkeley. The name of the ! 11: * University may not be used to endorse or promote products derived ! 12: * from this software without specific prior written permission. ! 13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 16: * ! 17: * @(#)function.h 4.1 (Berkeley) 12/4/88 ! 18: */ ! 19: ! 20: /* ! 21: * The following are the various functions which the keyboard can ask ! 22: * the controller to perform. ! 23: * ! 24: * Note that this file (the following entries) are scanned by mkhit.c, ! 25: * and that the format must remain more-or-less consistent ! 26: * [ \t]*TOKEN ! 27: */ ! 28: ! 29: enum ctlrfcn { ! 30: ! 31: undefined = 0, /* Not yet touched */ ! 32: ! 33: FCN_NULL, /* Illegal sequence */ ! 34: ! 35: FCN_RESET, /* unlock keyboard */ ! 36: FCN_MAKE_SHIFT_LOCK, ! 37: FCN_BREAK_SHIFT_LOCK, ! 38: ! 39: FCN_MAKE_SHIFT, /* shift key pressed DOWN */ ! 40: FCN_BREAK_SHIFT, /* shift key released */ ! 41: ! 42: FCN_MAKE_ALT, /* alt key pressed DOWN */ ! 43: FCN_BREAK_ALT, /* alt key released */ ! 44: ! 45: FCN_MAKE_CTRL, ! 46: ! 47: FCN_CAPS_LOCK, ! 48: ! 49: FCN_MONOCASE, /* DISPLAY in upper case */ ! 50: FCN_DVCNL, ! 51: ! 52: FCN_CHARACTER, /* Not one of the following, but ... */ ! 53: FCN_VERTICAL_BAR, /* EBCDIC solid vertical bar */ ! 54: FCN_CENTSIGN, /* EBCDIC cent sign */ ! 55: FCN_SPACE, /* EBCDIC space */ ! 56: FCN_DP, /* EBCDIC dup character */ ! 57: FCN_FM, /* EBCDIC field mark */ ! 58: ! 59: FCN_AID, /* Some AID key */ ! 60: FCN_ATTN, ! 61: FCN_CURSEL, /* Cursor select function (and aid) */ ! 62: FCN_TEST, /* Test function */ ! 63: ! 64: FCN_EINP, /* erase input (dangerous) */ ! 65: FCN_EEOF, ! 66: FCN_DELETE, ! 67: FCN_INSRT, ! 68: FCN_TAB, ! 69: FCN_BTAB, ! 70: FCN_NL, ! 71: FCN_HOME, ! 72: FCN_UP, ! 73: FCN_DOWN, ! 74: FCN_RIGHT, ! 75: FCN_LEFT, ! 76: FCN_LEFT2, ! 77: FCN_RIGHT2, ! 78: ! 79: #if !defined(PURE3274) ! 80: /* ! 81: * Local editing functions ! 82: */ ! 83: FCN_SETTAB, /* set a column tab */ ! 84: FCN_DELTAB, ! 85: FCN_COLTAB, ! 86: FCN_COLBAK, ! 87: FCN_INDENT, /* more margin over one col tab */ ! 88: FCN_UNDENT, ! 89: FCN_SETMRG, ! 90: FCN_SETHOM, ! 91: FCN_CLRTAB, ! 92: FCN_ERASE, /* erase last character */ ! 93: FCN_WERASE, ! 94: FCN_FERASE, ! 95: FCN_WORDTAB, /* tab to start of next word */ ! 96: FCN_WORDBACKTAB, ! 97: FCN_WORDEND, /* find next end of word */ ! 98: FCN_FIELDEND, /* find next end of field */ ! 99: ! 100: /* ! 101: * APL functions ! 102: */ ! 103: FCN_APLON, /* start using apl character set */ ! 104: FCN_APLOFF, ! 105: FCN_APLEND, ! 106: ! 107: FCN_PCON, ! 108: FCN_PCOFF, ! 109: FCN_INIT, /* re-init screen */ ! 110: FCN_SYNCH, /* synch up after line/control error */ ! 111: FCN_FLINP, /* flush input buffer */ ! 112: FCN_RESHOW, /* redraw screen */ ! 113: FCN_MASTER_RESET, /* FLINP, RESET, RESHOW, + more */ ! 114: ! 115: FCN_DISC, /* suspend application */ ! 116: FCN_ESCAPE, /* enter command mode */ ! 117: ! 118: FCN_ALTK, /* Dvorak keyboard */ ! 119: ! 120: FCN_XOFF, /* suspend output to screen */ ! 121: FCN_XON, /* resume output to screen */ ! 122: ! 123: FCN_LPRT /* print screen on printer */ ! 124: #endif /* !defined(PURE3274) */ ! 125: }; ! 126: /* ! 127: * The following is the structure which defines what a 3270 keystroke ! 128: * can do. ! 129: */ ! 130: ! 131: struct hits { ! 132: unsigned char keynumber; ! 133: struct hit { ! 134: enum ctlrfcn ctlrfcn; ! 135: unsigned char code; /* AID value or 3270 display code */ ! 136: } hit[4]; /* plain, shifted, alted, shiftalted */ ! 137: }; ! 138: ! 139: extern struct hits hits[]; ! 140: ! 141: /* ! 142: * Definitions of the shift state (and the left/right shift key position). ! 143: */ ! 144: ! 145: #define SHIFT_RIGHT 0x20 /* Right shift key is down */ ! 146: #define SHIFT_LEFT 0x10 /* Left shift key is down */ ! 147: #define SHIFT_CONTROL 0x08 /* Control shift state (unused) */ ! 148: #define SHIFT_ALT 0x04 /* ALT shift state */ ! 149: #define SHIFT_CAPS 0x02 /* Caps lock state */ ! 150: #define SHIFT_UPSHIFT 0x01 /* Upshift state */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.