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