len = TranslateKey(message, wParam, lParam, buf);
if (len == -1)
return DefWindowProc(hwnd, message, wParam, lParam);
- ldisc_send(buf, len);
- if (len > 0)
+ if (len != 0) {
+ /*
+ * We need not bother about stdin backlogs
+ * here, because in GUI PuTTY we can't do
+ * anything about it anyway; there's no means
+ * of asking Windows to hold off on KEYDOWN
+ * messages. We _have_ to buffer everything
+ * we're sent.
+ */
+ ldisc_send(buf, len);
show_mouseptr(0);
+ }
}
}
return 0;
luni_send(&keybuf, 1);
} else {
ch = (char) alt_sum;
+ /*
+ * We need not bother about stdin
+ * backlogs here, because in GUI PuTTY
+ * we can't do anything about it
+ * anyway; there's no means of asking
+ * Windows to hold off on KEYDOWN
+ * messages. We _have_ to buffer
+ * everything we're sent.
+ */
ldisc_send(&ch, 1);
}
alt_sum = 0;
lpage_send(kbd_codepage, cbuf + !left_alt,
1 + !!left_alt);
}
+ show_mouseptr(0);
}
/* This is so the ALT-Numpad and dead keys work correctly. */