home *** CD-ROM | disk | FTP | other *** search
- /* keytabpc.h hterm ibmpc/ax/j3100 keytable
- *
- * Author: HIRANO Satoshi
- * (C) 1989 Halca Computer Science Laboratory TM
- * University of Tokyo
- *
- * Edition History:
- * 1.1 89/06/?? Halca.Hirano creation
- * 1.2 89/09/25 Halca.Hirano
- * ---- V2.4.0 distribution ----
- *
- * $Header: keytabpc.hv 1.8 90/07/04 01:08:28 hirano Exp $
- *
- */
- #define getkeyval(table, c) ((0<=(c)&&(c)<=(sizeof table))?table[c]:0xff)
-
- /* META typewriter key */
- char metaTable[] = {
- '1', '2', '3', '4', '5', '6', '7', '8', /* 0 - 7 */
- '9', '0', '-', '=', -1, -1, -1, -1, /* 8 - 0f */
- 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', /* 10 - 17 */
- 'o', 'p', '[', ']', -1, -1, 'a', 's', /* 18 - 1f */
- 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* 20 - 27 */
- 0x27,'`', -1, 0x5c, 'z', 'x', 'c', 'v', /* 28 - 2f */
- 'b', 'n', 'm', ',', '.', '/', -1, -1, /* 30 - 37 */
- -1, 0x20}; /* 38 - 39 */
-
- /* META-CTRL typewriter key */
- char metaCtrlTable[] = {
- -1, 0x00, -1, -1, -1, CTRL('^'), -1, -1,
- -1, -1, CTRL('_'), -1, -1, -1, -1, -1,
- CTRL('Q'),CTRL('W'),CTRL('E'),CTRL('R'),CTRL('T'),CTRL('Y'),CTRL('U'),CTRL('I'),
- CTRL('O'),CTRL('P'),CTRL('['),CTRL(']'), -1, -1, CTRL('A'),CTRL('S'),
- CTRL('D'),CTRL('F'),CTRL('G'),CTRL('H'),CTRL('J'),CTRL('K'),CTRL('L'), -1,
- -1, -1, -1, 0x1c,CTRL('Z'),CTRL('X'),CTRL('C'),CTRL('V'),
- CTRL('B'),CTRL('N'),CTRL('M'), -1, -1, 0x7f, -1, -1,
- -1, 0x00};
-
- /* META-SHIFT typewriter key */
- char metaShiftTable[] = {
- '!', '@', '#', '$', '%', '^', '&', '*', /* 0 - 7 */
- '(', ')', '_', '+', -1, -1, -1, -1, /* 8 - 0f */
- 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', /* 10 - 17 */
- 'O', 'P', '{', '}', -1, -1, 'A', 'S', /* 18 - 1f */
- 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', /* 20 - 27 */
- 0x22,'~', -1, '|', 'Z', 'X', 'C', 'V', /* 28 - 2f */
- 'B', 'N', 'M', '<', '>', '?', -1, -1, /* 30 - 37 */
- -1, 0x20}; /* 38 - 39 */
-
- /*
- * we can use 0xa0 - 0xdf for hterm special keys
- */
-
- #define SCAN_PF1 0x3b /* scan code of PF1 without shift */
- #define SCAN_PF10 0x44 /* scan code of PF10 without shift */
- #define SCAN_S_PF1 0x54 /* scan code of PF1 with shift */
- #define SCAN_S_PF10 0x5d /* scan code of PF10 with shift */
- #define SCAN_C_PF1 0x5e /* scan code of PF1 with ctrl */
- #define SCAN_C_PF10 0x67 /* scan code of PF10 with ctrl */
- #define SCAN_M_PF1 0x68 /* scan code of PF1 with alt */
- #define SCAN_M_PF10 0x71 /* scan code of PF10 with alt */
-
- /*
- * non FEP mode PF key; macro key
- */
- u_char NORMALFunkey[NUM_FUNKEY][MAX_FUNKEY] = {
- "\x1b[17~", /* pf1 (VT220 F7 ) */
- "\x1b[18~", /* pf2 (VT220 F8 ) */
- "\x1b[19~", /* pf3 (VT220 F9 ) */
- "\x1b[20~", /* pf4 (VT220 F10) */
- "\x1b[21~", /* pf5 (VT220 F11) */
- "\x1b[22~", /* pf6 (VT220 F12) */
- "\x1b[23~", /* pf7 (VT220 F13) */
- "\x1b[24~", /* pf8 (VT220 F14) */
- "\x1b[25~", /* pf9 (VT220 HELP F15) */
- "\x1b[26~" /* pf10 (VT220 DO F16) */
- };
-
- /*
- * non FEP mode shift PF key; macro key
- */
- u_char SHIFTFunkey[NUM_FUNKEY][MAX_FUNKEY] = {
- "\x1b[27~", /* shift pf1 (VT220 F17) */
- "\x1b[28~", /* shift pf2 (VT220 F18) */
- "\x1b[29~", /* shift pf3 (VT220 F19) */
- "\x1b[30~", /* shift pf4 (VT220 F20) */
- "\x1b[31~", /* shift pf5 (VT220 none) */
- "\x1b[32~", /* shift pf6 (VT220 none) */
- "\x1b[33~", /* shift pf7 (VT220 none) */
- "\x1b[34~", /* shift pf8 (VT220 none) */
- "\x1b[35~", /* shift pf9 (VT220 none) */
- "\x1b[36~" /* shift pf0 (VT220 none) */
- };
-
- /*
- * non FEP mode ctrl PF keys; hterm control key
- */
- u_short CTRLFunkey[MAX_FUNKEY] = {
- CTRL_PF1, /* ctrl pf1 (VT220 none) */
- CTRL_PF2, /* ctrl pf2 (VT220 none) */
- CTRL_PF3, /* ctrl pf3 (VT220 none) */
- CTRL_PF4, /* ctrl pf4 (VT220 none) */
- CTRL_PF5, /* ctrl pf5 (VT220 none) */
- CTRL_PF6, /* ctrl pf6 (VT220 none) */
- CTRL_PF7, /* ctrl pf7 (VT220 none) */
- CTRL_PF8, /* ctrl pf8 (VT220 none) */
- CTRL_PF9, /* ctrl pf9 (VT220 none) */
- CTRL_PF10 /* ctrl pf10 (VT220 none) */
- };
-
-
- /*
- * non FEP mode meta PF keys; hterm control key
- */
- u_short METAFunkey[MAX_FUNKEY] = {
- META_PF1, /* meta pf1 (VT220 none) */
- META_PF2, /* meta pf2 (VT220 none) */
- META_PF3, /* meta pf3 (VT220 none) */
- META_PF4, /* meta pf4 (VT220 none) */
- META_PF5, /* meta pf5 (VT220 none) */
- META_PF6, /* meta pf6 (VT220 none) */
- META_PF7, /* meta pf7 (VT220 none) */
- META_PF8, /* meta pf8 (VT220 none) */
- META_PF9, /* meta pf9 (VT220 none) */
- META_PF10 /* meta pf10 (VT220 none) */
- };
-
- char *funkeyName[] = {
- "F1","F2","F3","F4","F5","F6","F7","F8","F9","F10", ""};
- #define FUNKEY_NAME_LEN 3
-
- char *keypadName[] = {
- "*",
- "HOME", "UP", "Page Up", "-", "LEFT", "5", "RIGHT", "+",
- "END", "DOWN", "Page Dn", "INS", "DEL", ""};
- #define KEYPAD_NAME_LEN 6
-
- #define SCAN_PAD_BEGIN 0x47
- #define SCAN_PAD_END 0x53
-
- /*
- * pad is cursor key state (without NUMLOCK)
- * normal cursor key mode
- */
- u_char NORMALCursor[][MAX_FUNKEY] = {
- "\x1b[1~", /* 47 HOME (VT220 FIND) */
- "\x1b[A", /* 48 UP (VT220 UP) */
- "\x1b[5~", /* 49 page up (VT220 prev screen) */
- "-", /* 4A - (VT220 none) */
- "\x1b[D", /* 4b LEFT (VT220 LEFT) */
- "", /* 4c (5) */
- "\x1b[C", /* 4d RIGHT (VT220 RIGHT) */
- "+", /* 4e + (VT220 ,) */
- "\x1b[4~", /* 4f END (VT220 SELECT) */
- "\x1b[B", /* 50 DOWN (VT220 DOWN) */
- "\x1b[6~", /* 51 page down (VT220 next screen) */
- "\x1b[2~", /* 52 INS (VT220 insert here) */
- "\x7f", /* 53 DEL (VT220 none) */
- };
-
- /*
- * pad is cursor key state
- * application cursor key
- */
- u_char APPLCursor[][MAX_FUNKEY] = {
- "\x1bOP", /* 47 HOME (VT220 FIND) */
- "\x1bOA", /* 48 UP (VT220 UP) */
- "\x1b[5~", /* 49 page up (VT220 prev screen) */
- "-", /* 4A - (VT220 none) */
- "\x1bOD", /* 4b LEFT (VT220 LEFT) */
- "", /* 4c (5) (VT220 none) */
- "\x1bOC", /* 4d RIGHT (VT220 RIGHT) */
- "+", /* 4e + (VT220 ,) */
- "\x1b[4~", /* 4f END (VT220 SELECT) */
- "\x1bOB", /* 50 DOWN (VT220 DOWN) */
- "\x1b[6~", /* 51 page down (VT220 next screen) */
- "\x1b[2~", /* 52 INS (VT220 insert here) */
- "\x7f", /* 53 DEL (VT220 none) */
- };
-
-
- /*
- * keypad is cursor state (without NUMLOCK)
- * in setup mode
- */
- u_short SETUPCursor[] = {
- HOME_KEY, /* 47 HOME (VT220 FIND) */
- UP_KEY, /* 48 UP (VT220 UP) */
- PGUP_KEY, /* 49 page up (VT220 prev screen) */
- (u_short)'-', /* 4A - (VT220 none) */
- LEFT_KEY, /* 4b LEFT (VT220 LEFT) */
- (u_short)'5', /* 4c (5) (VT220 none) */
- RIGHT_KEY, /* 4d RIGHT (VT220 RIGHT) */
- (u_short)'+', /* 4e + (VT220 ,) */
- END_KEY, /* 4f END (VT220 SELECT) */
- DOWN_KEY, /* 50 DOWN (VT220 DOWN) */
- PGDN_KEY, /* 51 page down (VT220 next screen) */
- INS_KEY, /* 52 INS (VT220 insert here) */
- DEL_KEY, /* 53 DEL (VT220 none) */
- };
-
- #define SCAN_C_PAD_BEGIN 0x73
- #define SCAN_C_PAD_END 0x84
-
- /*
- * keypad is cursor state (without NUMLOCK)
- * CTRL-cursor/keypad
- */
- u_short CTRLCursor[] = {
- LEFT_KEY, /* 73 CTRL-LEFT */
- RIGHT_KEY, /* 74 CTRL-RIGHT */
- END_KEY, /* 75 CTRL-END */
- PGDN_KEY, /* 76 CTRL-PgDn */
- HOME_KEY, /* 77 CTRL-HOME */
- 0,0,0,0,0,0,0,0,
- 0,0,0,0,
- PGUP_KEY, /* 84 CTRL-PgUp */
- };
-
- /*
- * keypad is ten key state (with NUMLOCK)
- * application keypad mode
- */
- u_char APPLPad[][MAX_FUNKEY] = {
- "\x1bOS", /* 37 * (VT220 PF4) */
- "\x1bOw", /* 47 7 (VT220 7) */
- "\x1bOx", /* 48 8 (VT220 8) */
- "\x1bOy", /* 49 9 (VT220 9) */
- "\x1bOR", /* 4A - (VT220 PF3) */
- "\x1bOt", /* 4b 4 (VT220 4) */
- "\x1bOu", /* 4c 5 (VT220 5) */
- "\x1bOv", /* 4d 6 (VT220 6) */
- "\x1bOl", /* 4e + (VT220 ,) */
- "\x1bOq", /* 4f 1 (VT220 1) */
- "\x1bOr", /* 50 2 (VT220 2) */
- "\x1bOs", /* 51 3 (VT220 3) */
- "\x1bOp", /* 52 0 (VT220 0) */
- "\x1bOn", /* 53 . (VT220 .) */
- };
-