4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
|
xkey = 'D';
break;
case VK_CLEAR:
xkey = 'G';
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);
}
return p - output;
}
}
/*
* Finally, deal with Return ourselves. (Win95 seems to
* foul it up when Alt is pressed, for some reason.)
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<
|
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
|
xkey = 'D';
break;
case VK_CLEAR:
xkey = 'G';
break;
}
if (xkey) {
p += format_arrow_key(p, term, xkey, shift_state);
return p - output;
}
}
/*
* Finally, deal with Return ourselves. (Win95 seems to
* foul it up when Alt is pressed, for some reason.)
|