|
|
1.1 ! root 1: #ifndef _IBMKEYS_DOT_H ! 2: #define _IBMKEYS_DOT_H ! 3: ! 4: /* ! 5: * IBMKEYS.H 5.20A June 8, 1995 ! 6: * ! 7: * The Greenleaf Comm Library ! 8: * ! 9: * Copyright (C)1986-1995 Greenleaf Software Inc. All Rights Reserved. ! 10: * ! 11: * NOTES ! 12: * ! 13: * Define Keys for the 83/84 key and 101/102 key IBM PC keyboards, ! 14: * structures, constants and function prototypes for keyboard functions. ! 15: * ! 16: * MODIFICATIONS ! 17: * ! 18: * December 12, 1992 4.00A : Initial release ! 19: * ! 20: */ ! 21: ! 22: ! 23: #include "compiler.h" ! 24: ! 25: #define F1 0x3b00 /* F1 ........... */ ! 26: #define F2 0x3c00 ! 27: #define F3 0x3d00 ! 28: #define F4 0x3e00 ! 29: #define F5 0x3f00 ! 30: #define F6 0x4000 ! 31: #define F7 0x4100 ! 32: #define F8 0x4200 ! 33: #define F9 0x4300 ! 34: #define F10 0x4400 ! 35: #define F11 0x8500 /* Enhanced Keyboards Only */ ! 36: #define F12 0x8600 /* Enhanced Keyboards Only */ ! 37: ! 38: #define SF1 0x5400 /* Shift-F1 ...... */ ! 39: #define SF2 0x5500 ! 40: #define SF3 0x5600 ! 41: #define SF4 0x5700 ! 42: #define SF5 0x5800 ! 43: #define SF6 0x5900 ! 44: #define SF7 0x5a00 ! 45: #define SF8 0x5b00 ! 46: #define SF9 0x5c00 ! 47: #define SF10 0x5d00 ! 48: #define SF11 0x8700 /* Enhanced Keyboards Only */ ! 49: #define SF12 0x8800 /* Enhanced Keyboards Only */ ! 50: ! 51: #define CF1 0x5e00 /* Control-F1 */ ! 52: #define CF2 0x5f00 ! 53: #define CF3 0x6000 ! 54: #define CF4 0x6100 ! 55: #define CF5 0x6200 ! 56: #define CF6 0x6300 ! 57: #define CF7 0x6400 ! 58: #define CF8 0x6500 ! 59: #define CF9 0x6600 ! 60: #define CF10 0x6700 ! 61: #define CF11 0x8900 /* Enhanced Keyboards Only */ ! 62: #define CF12 0x8a00 /* Enhanced Keyboards Only */ ! 63: ! 64: #define AF1 0x6800 /* Alt - F1 */ ! 65: #define AF2 0x6900 ! 66: #define AF3 0x6a00 ! 67: #define AF4 0x6b00 ! 68: #define AF5 0x6c00 ! 69: #define AF6 0x6d00 ! 70: #define AF7 0x6e00 ! 71: #define AF8 0x6f00 ! 72: #define AF9 0x7000 ! 73: #define AF10 0x7100 ! 74: #define AF11 0x8b00 /* Enhanced Keyboards Only */ ! 75: #define AF12 0x8c00 /* Enhanced Keyboards Only */ ! 76: ! 77: #define ALTA 0x1e00 /* Alt - A .... */ ! 78: #define ALTB 0x3000 ! 79: #define ALTC 0x2e00 ! 80: #define ALTD 0x2000 ! 81: #define ALTE 0x1200 ! 82: #define ALTF 0x2100 ! 83: #define ALTG 0x2200 ! 84: #define ALTH 0x2300 ! 85: #define ALTI 0x1700 ! 86: #define ALTJ 0x2400 ! 87: #define ALTK 0x2500 ! 88: #define ALTL 0x2600 ! 89: #define ALTM 0x3200 ! 90: #define ALTN 0x3100 ! 91: #define ALTO 0x1800 ! 92: #define ALTP 0x1900 ! 93: #define ALTQ 0x1000 ! 94: #define ALTR 0x1300 ! 95: #define ALTS 0x1f00 ! 96: #define ALTT 0x1400 ! 97: #define ALTU 0x1600 ! 98: #define ALTV 0x2f00 ! 99: #define ALTW 0x1100 ! 100: #define ALTX 0x2d00 ! 101: #define ALTY 0x1500 ! 102: #define ALTZ 0x2c00 ! 103: ! 104: #define ALT1 0x7800 /* Alt - 1 .... */ ! 105: #define ALT2 0x7900 ! 106: #define ALT3 0x7a00 ! 107: #define ALT4 0x7b00 ! 108: #define ALT5 0x7c00 ! 109: #define ALT6 0x7d00 ! 110: #define ALT7 0x7e00 ! 111: #define ALT8 0x7f00 ! 112: #define ALT9 0x8000 ! 113: #define ALT0 0x8100 ! 114: ! 115: #define ALTEQUAL 0x8300 /* Alt = */ ! 116: #define ALTMINUS 0x8200 /* Alt - */ ! 117: ! 118: #define CTRLCURLF 0x7300 /* Ctrl <- */ ! 119: #define CTRLCURRT 0x7400 /* Ctrl -> */ ! 120: #define CTRLEND 0x7500 /* Ctrl End */ ! 121: #define CTRLHOME 0x7700 /* Ctrl Home */ ! 122: #define CTRLPGDN 0x7600 /* Ctrl PgDn */ ! 123: #define CTRLPGUP 0x8400 /* Ctrl PgUp */ ! 124: ! 125: #define CURDN 0x5000 /* down arrow */ ! 126: #define CURLF 0x4b00 /* <- */ ! 127: #define CENTER 0x4c00 ! 128: #define CURRT 0x4d00 /* -> */ ! 129: #define CURUP 0x4800 /* up arrow */ ! 130: #if !defined( GF_WIN32 ) || ( defined( GF_WIN32 ) && defined( DOSX386 ) ) ! 131: /* ! 132: * Windows NT header files define this guy, let's make sure we don't clash. ! 133: */ ! 134: # if !defined( DELETE ) ! 135: #define DELETE 0x5300 /* Del */ ! 136: # endif ! 137: #endif ! 138: #define ENDKEY 0x4f00 /* END key */ ! 139: #define HOME 0x4700 /* HOME key */ ! 140: #define INSERT 0x5200 /* Ins */ ! 141: #define PGDN 0x5100 /* PgDn */ ! 142: #define PGUP 0x4900 /* PgUp */ ! 143: #define REVTAB 0x0F00 /* Shift Tab */ ! 144: ! 145: #define CTRLBREAK 0 /* for when breakchk(ON) */ ! 146: #define NOKEY 0xffff ! 147: ! 148: /* ! 149: * The following constants apply to the 101/102 key enhanced ! 150: * keyboard. ! 151: */ ! 152: #define ALTACCENT 0x2900 /* Alt Accent (`) */ ! 153: #define ALTAPOST 0x2800 /* Alt Apostrophe (') */ ! 154: #define ALTAST 0x3700 /* Alt * */ ! 155: #define ALTBACKSLASH 0x2b00 /* Alt Backslash (\) */ ! 156: #define ALTBS 0x0e00 /* Alt-Backspace */ ! 157: #define ALTCB 0x1b00 /* Alt close bracket */ ! 158: #define ALTCOMMA 0x3300 /* Alt Comma */ ! 159: #define ALTCURDN 0xa000 /* Alt Cursor Down */ ! 160: #define ALTCURLF 0x9b00 /* Alt Cursor Left */ ! 161: #define ALTCURRT 0x9d00 /* Alt Cursor Right */ ! 162: #define ALTCURUP 0x9800 /* Alt Cursor Up */ ! 163: #define ALTDELETE 0xa300 /* Alt Delete */ ! 164: #define ALTEND 0x9f00 /* Alt End */ ! 165: #define ALTENTER 0xa600 /* Alt Enter (keypad) */ ! 166: #define ALTESC 0x0100 /* Alt Escape */ ! 167: #define ALTHOME 0x9700 /* Alt Home */ ! 168: #define ALTINSERT 0xa200 /* Alt Insert */ ! 169: #define ALTKBMINUS 0x4a00 /* Alt Keypad - */ ! 170: #define ALTKBPLUS 0x4e00 /* Alt Keypad + */ ! 171: #define ALTOB 0x1a00 /* Alt open bracket */ ! 172: #define ALTPERIOD 0x3400 /* Alt Period */ ! 173: #define ALTPGDN 0xa100 /* Alt Page Down */ ! 174: #define ALTPGUP 0x9900 /* Alt Page Up */ ! 175: #define ALTRETURN 0x1c00 /* Alt Return */ ! 176: #define ALTSEMI 0x2700 /* Alt Semicolon */ ! 177: #define ALTSLASH 0x3500 /* Alt Slash */ ! 178: #define ALTTAB 0xa500 /* Alt-Tab */ ! 179: #define ALTXSLASH 0xa400 /* Alt Slash (keypad) */ ! 180: ! 181: #define CTRLAST 0x9600 /* Control * */ ! 182: #define CTRLCENTER 0x8f00 /* Control Center */ ! 183: #define CTRLCURDN 0x9100 /* Control Down Arrow */ ! 184: #define CTRLDELETE 0x9300 /* Control Delete */ ! 185: #define CTRLINSERT 0x9200 /* Control Insert */ ! 186: #define CTRLKPMINUS 0x8e00 /* Control Keypad - */ ! 187: #define CTRLKPPLUS 0x9000 /* Control Keypad + */ ! 188: #define CTRLPRTSC 0x7200 /* Ctrl PrtSc */ ! 189: #define CTRLTAB 0x9400 /* Control Tab */ ! 190: #define CTRLUP 0x8d00 /* Control UP-Arrow */ ! 191: ! 192: /* End 101/102 key Enhanced keyboard constants */ ! 193: ! 194: /* ! 195: * Returns (masks) from kbshift() ! 196: */ ! 197: #define ALTKEY 0x0008 ! 198: #define CAPSKEY 0x0040 ! 199: #define CTRLKEY 0x0004 ! 200: #define INSKEY 0x0080 ! 201: #define LFALTKEY 0x0200 /* Enhanced Keyboard Only */ ! 202: #define LFCTRLKEY 0x0100 /* Enhanced Keyboard Only */ ! 203: #define LFSHIFTKEY 0x0002 ! 204: #define NUMLOCK 0x0020 ! 205: #define RTALTKEY 0x0800 /* Enhanced Keyboard Only */ ! 206: #define RTCTRLKEY 0x0400 /* Enhanced Keyboard Only */ ! 207: #define RTSHIFTKEY 0x0001 ! 208: #define SCRL_LOCK 0x0010 ! 209: ! 210: ! 211: /* ! 212: * The SCANB() macro can be used to transform the 16 bit "getkey()" code ! 213: * into an 8 bit scan code. ! 214: */ ! 215: #define SCANB(code) (code>>8) /* Tag: Misc Private */ ! 216: ! 217: ! 218: #ifdef __cplusplus ! 219: extern "C" { ! 220: #endif ! 221: ! 222: int GF_CDECL enhkbd(void); ! 223: int GF_CDECL gfkbhit(void); ! 224: int GF_CDECL breakchk(int option); ! 225: unsigned int GF_CDECL getkey(void); ! 226: unsigned GF_CDECL kbfetch(void); ! 227: unsigned GF_CDECL kbshift(void); ! 228: ! 229: #ifdef __cplusplus ! 230: } ! 231: #endif ! 232: ! 233: #endif /* _IBMKEYS_DOT_H */ ! 234:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.