* \88ê\95\94\82Ì\8e\80\88ö\82Å\81u\8e\80\82ñ\82¾\81v\82ª\95\\8e¦\82³\82ê\82È\82¢\96â\91è\82ð\8fC\90³ (#36579)
+ * Windows10\82Ìtty\82Å\93ú\96{\8cê\82ª\93ü\97Í\82Å\82«\82È\82¢\96â\91è\82ð\8fC\90³ (#36599)
Sun Jun 11 2016 Kentaro Shirakata <argrath@ub32.org>
return retval;
}
+#if 1 /*JP*/
+static INPUT_RECORD irbuf[2];
+static int irbufnext = 0;
+#endif
+
int __declspec(dllexport) __stdcall CheckInput(hConIn, ir, count, numpad,
mode, mod, cc)
HANDLE hConIn;
if (dwWait == WAIT_FAILED)
return '\033';
#endif
+#if 0 /*JP*/
ReadConsoleInput(hConIn, ir, 1, count);
+#else
+ /*JP
+ Windows8\88È\8d~\82Å\82Í\93ú\96{\8cê\82ð\93ü\97Í\82·\82é\82Æ2\83o\83C\83g\82Ü\82Æ\82ß\82Ä\95Ô\82Á\82Ä\82\82é\82Ì\82Å
+ 2\83o\83C\83g\96Ú\82ð\83L\83\83\83b\83V\83\85\82µ\82Ä1\83o\83C\83g\82¸\82Â\95Ô\82·\81B
+ */
+ if (irbufnext == 1) {
+ memcpy(ir, &irbuf[1], sizeof(INPUT_RECORD));
+ irbufnext = 0;
+ } else {
+ ReadConsoleInput(hConIn, irbuf, 2, count);
+ memcpy(ir, &irbuf[0], sizeof(INPUT_RECORD));
+ if (*count == 2) {
+ irbufnext = 1;
+ }
+ }
+#endif
if (mode == 0) {
if ((ir->EventType == KEY_EVENT) && ir->Event.KeyEvent.bKeyDown) {
ch = ProcessKeystroke(hConIn, ir, &valid, numpad, 0);