From 9bc81a2c80570fd9141d83f921b9bb1ef99a631b Mon Sep 17 00:00:00 2001 From: simon 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. git-svn-id: svn://svn.tartarus.org/sgt/putty@1169 cda61777-01e9-0310-a592-d414129be87e --- 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) -- 2.11.0