X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/59b0bfe7f0e692659cc84d7647f171f8fbd89eb9..720f700ea5af91c2faab20e74515f157e6e8cbdf:/windows/window.c diff --git a/windows/window.c b/windows/window.c index 05d5ccc4..3f092ae5 100644 --- a/windows/window.c +++ b/windows/window.c @@ -4214,37 +4214,7 @@ static int TranslateKey(UINT message, WPARAM wParam, LPARAM lParam, break; } if (xkey) { - if (term->vt52_mode) - p += sprintf((char *) p, "\x1B%c", xkey); - else { - int app_flg = (term->app_cursor_keys && !cfg.no_applic_c); -#if 0 - /* - * RDB: VT100 & VT102 manuals both state the - * app cursor keys only work if the app keypad - * is on. - * - * SGT: That may well be true, but xterm - * disagrees and so does at least one - * application, so I've #if'ed this out and the - * behaviour is back to PuTTY's original: app - * cursor and app keypad are independently - * switchable modes. If anyone complains about - * _this_ I'll have to put in a configurable - * option. - */ - if (!term->app_keypad_keys) - app_flg = 0; -#endif - /* Useful mapping of Ctrl-arrows */ - if (shift_state == 2) - app_flg = !app_flg; - - if (app_flg) - p += sprintf((char *) p, "\x1BO%c", xkey); - else - p += sprintf((char *) p, "\x1B[%c", xkey); - } + p += format_arrow_key(p, term, xkey, shift_state); return p - output; } }