From dbe881a1639c246f38bd907ccd0613f7bb384a01 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 4 Aug 2001 14:35:58 +0000 Subject: [PATCH] SCO function key mode now affects the small keypad (Ins, Del, etc) in accordance with the keymap dump sent by Len Christiansen. [originally from svn r1169] --- window.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/window.c b/window.c index 546a9172..3d4f080b 100644 --- a/window.c +++ b/window.c @@ -2758,7 +2758,8 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam, return p - output; } - if (cfg.funky_type == 5 && code >= 11 && code <= 34) { + if (cfg.funky_type == 5 && /* SCO function keys */ + code >= 11 && code <= 34) { char codes[] = "MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@[\\]^_`{"; int index = 0; switch (wParam) { @@ -2780,6 +2781,16 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam, p += sprintf((char *) p, "\x1B[%c", codes[index]); return p - output; } + if (cfg.funky_type == 5 && /* SCO small keypad */ + code >= 1 && code <= 6) { + char codes[] = "HL.FIG"; + if (code == 3) { + *p++ = '\x7F'; + } else { + p += sprintf((char *) p, "\x1B[%c", codes[code-1]); + } + return p - output; + } if ((vt52_mode || cfg.funky_type == 4) && code >= 11 && code <= 24) { int offt = 0; if (code > 15)