| 2373 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2374 |
FocusReportMode = TRUE; |
FocusReportMode = TRUE; |
| 2375 |
break; |
break; |
| 2376 |
case 1005: // Extended Mouse Tracking |
case 1005: // Extended Mouse Tracking (UTF-8) |
| 2377 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2378 |
MouseReportExtMode = IdMouseTrackExtUTF8; |
MouseReportExtMode = IdMouseTrackExtUTF8; |
| 2379 |
break; |
break; |
| 2380 |
|
case 1006: // Extended Mouse Tracking (SGR) |
| 2381 |
|
if (ts.MouseEventTracking) |
| 2382 |
|
MouseReportExtMode = IdMouseTrackExtSGR; |
| 2383 |
|
break; |
| 2384 |
case 1047: // Alternate Screen Buffer |
case 1047: // Alternate Screen Buffer |
| 2385 |
if ((ts.TermFlag & TF_ALTSCR) && !AltScr) { |
if ((ts.TermFlag & TF_ALTSCR) && !AltScr) { |
| 2386 |
BuffSaveScreen(); |
BuffSaveScreen(); |
| 2513 |
case 1004: // Focus Report |
case 1004: // Focus Report |
| 2514 |
FocusReportMode = FALSE; |
FocusReportMode = FALSE; |
| 2515 |
break; |
break; |
| 2516 |
case 1005: // Extended Mouse Tracking |
case 1005: // Extended Mouse Tracking (UTF-8) |
| 2517 |
MouseReportExtMode = IdMouseTrackExtNone; |
case 1006: // Extended Mouse Tracking (SGR) |
| 2518 |
|
MouseReportExtMode = IdMouseTrackExtNone; |
| 2519 |
break; |
break; |
| 2520 |
case 1047: // Alternate Screen Buffer |
case 1047: // Alternate Screen Buffer |
| 2521 |
if ((ts.TermFlag & TF_ALTSCR) && AltScr) { |
if ((ts.TermFlag & TF_ALTSCR) && AltScr) { |
| 4610 |
} |
} |
| 4611 |
return _snprintf_s_l(buff, buffsize, _TRUNCATE, "M%c%s%s", CLocale, mb+32, tmpx, tmpy); |
return _snprintf_s_l(buff, buffsize, _TRUNCATE, "M%c%s%s", CLocale, mb+32, tmpx, tmpy); |
| 4612 |
break; |
break; |
| 4613 |
|
case IdMouseTrackExtSGR: |
| 4614 |
|
return _snprintf_s_l(buff, buffsize, _TRUNCATE, "<%d;%d;%d%c", CLocale, mb&0x7f, x, y, (mb&0x80)?'m':'M'); |
| 4615 |
|
break; |
| 4616 |
} |
} |
| 4617 |
buff[0] = 0; |
buff[0] = 0; |
| 4618 |
return 0; |
return 0; |
| 4619 |
} |
} |
| 4620 |
|
|
| 4621 |
BOOL MouseReport(int Event, int Button, int Xpos, int Ypos) { |
BOOL MouseReport(int Event, int Button, int Xpos, int Ypos) { |
| 4622 |
char Report[10]; |
char Report[32]; |
| 4623 |
int x, y, len, modifier; |
int x, y, len, modifier; |
| 4624 |
static int LastSendX = -1, LastSendY = -1, LastButton = IdButtonRelease; |
static int LastSendX = -1, LastSendY = -1, LastButton = IdButtonRelease; |
| 4625 |
|
|
| 4696 |
case IdMouseTrackVT200: |
case IdMouseTrackVT200: |
| 4697 |
case IdMouseTrackBtnEvent: |
case IdMouseTrackBtnEvent: |
| 4698 |
case IdMouseTrackAllEvent: |
case IdMouseTrackAllEvent: |
| 4699 |
len = MakeMouseReportStr(Report, sizeof Report, IdButtonRelease | modifier, x, y); |
if (MouseReportExtMode == IdMouseTrackExtSGR) { |
| 4700 |
|
modifier |= 128; |
| 4701 |
|
} |
| 4702 |
|
else { |
| 4703 |
|
Button = IdButtonRelease; |
| 4704 |
|
} |
| 4705 |
|
len = MakeMouseReportStr(Report, sizeof Report, Button | modifier, x, y); |
| 4706 |
LastSendX = x; |
LastSendX = x; |
| 4707 |
LastSendY = y; |
LastSendY = y; |
| 4708 |
LastButton = IdButtonRelease; |
LastButton = IdButtonRelease; |