diff -ru ex-050325/ex_tty.c ex-050325-du/ex_tty.c --- ex-050325/ex_tty.c 2005-03-04 13:42:58.000000000 +0100 +++ ex-050325-du/ex_tty.c 2009-06-25 20:06:57.000000000 +0200 @@ -132,7 +132,8 @@ &ED, &EI, &F0, &F1, &F2, &F3, &F4, &F5, &F6, &F7, &F8, &F9, &HO, &IC, &IM, &IP, &KD, &KE, &KH, &KL, &KR, &KS, &KU, &LL, &ND, &xNL, &xPC, &RC, &SC, &SE, &SF, &SO, &SR, &TA, &TE, &TI, &UP, &VB, &VS, &VE, - &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM + &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM, + &kI, &kD, &kh, &at7, &kP, &kN }; bool *sflags[] = { &AM, &BS, &DA, &DB, &EO, &HC, @@ -170,7 +171,12 @@ addmac1(KD, "j", "down", arrows, 1); addmac1(KL, "h", "left", arrows, 1); addmac1(KR, "l", "right", arrows, 1); - addmac1(KH, "H", "home", arrows, 1); + addmac1(kI, "i", "insert", arrows, 1); + addmac1(kD, "x", "delete", arrows, 1); + addmac1(kh, "^", "home", arrows, 1); + addmac1(at7, "$", "end", arrows, 1); + addmac1(kP, "", "pgup", arrows, 1); + addmac1(kN, "", "pgdn", arrows, 1); /* * Handle funny termcap capabilities @@ -341,7 +347,7 @@ *(*fp++) = flag; namp += 2; } while (*namp); - namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERI"; + namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERIkIkDkh@7kPkN"; sp = sstrs; do { string = tgetstr(namp, &aoftspace); diff -ru ex-050325/ex_tty.h ex-050325-du/ex_tty.h --- ex-050325/ex_tty.h 2004-12-01 19:21:06.000000000 +0100 +++ ex-050325-du/ex_tty.h 2009-06-25 20:06:05.000000000 +0200 @@ -183,6 +183,15 @@ var bool XX; /* Tektronix 4025 insert line */ /* X? is reserved for severely nauseous glitches */ /* If there are enough of these we may need bit masks! */ +/* + * Insert, Delete, Home, End, PgUp an PgDown keys + */ +var char *kI; +var char *kD; +var char *kh; +var char *at7; +var char *kP; +var char *kN; /* * From the tty modes...