1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 19:12:48 -05:00

Fix Alt handling in the new shifted-arrow-key support.

As well as affecting the bitmap field in the escape sequence, it was
_also_ having its otherwise standard effect of prefixing Esc to the
whole sequence. It shouldn't do both.
This commit is contained in:
Simon Tatham
2021-10-23 10:52:11 +01:00
parent 6c24cb5c9f
commit a40b581fc1
4 changed files with 19 additions and 6 deletions

View File

@ -1808,6 +1808,8 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
switch (event->keyval) {
int fkey_number;
bool consumed_meta_key;
case GDK_KEY_F1: fkey_number = 1; goto numbered_function_key;
case GDK_KEY_F2: fkey_number = 2; goto numbered_function_key;
case GDK_KEY_F3: fkey_number = 3; goto numbered_function_key;
@ -1875,10 +1877,14 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
case GDK_KEY_Begin: case GDK_KEY_KP_Begin:
xkey = 'G'; goto arrow_key;
arrow_key:
consumed_meta_key = false;
end = 1 + format_arrow_key(output+1, inst->term, xkey,
event->state & GDK_SHIFT_MASK,
event->state & GDK_CONTROL_MASK,
event->state & GDK_META_MASK);
event->state & inst->meta_mod_mask,
&consumed_meta_key);
if (consumed_meta_key)
start = 1; /* supersedes the usual prefixing of Esc */
#ifdef KEY_EVENT_DIAGNOSTICS
debug(" - arrow key");
#endif