| 1496 |
case 4: // IRM |
case 4: // IRM |
| 1497 |
InsertMode = TRUE; break; |
InsertMode = TRUE; break; |
| 1498 |
case 12: // SRM |
case 12: // SRM |
| 1499 |
ts.LocalEcho = 0; |
ts.LocalEcho = 0; |
| 1500 |
if (cv.Ready && cv.TelFlag && (ts.TelEcho>0)) |
if (cv.Ready && cv.TelFlag && (ts.TelEcho>0)) |
| 1501 |
TelChangeEcho(); |
TelChangeEcho(); |
| 1502 |
break; |
break; |
| 1503 |
case 20: // LF/NL |
case 20: // LF/NL |
| 1504 |
LFMode = TRUE; |
LFMode = TRUE; |
| 1505 |
ts.CRSend = IdCRLF; |
ts.CRSend = IdCRLF; |
| 1506 |
cv.CRSend = IdCRLF; |
cv.CRSend = IdCRLF; |
| 1507 |
break; |
break; |
| 1508 |
case 33: // WYSTCURM |
case 33: // WYSTCURM |
| 1509 |
ts.NonblinkingCursor = TRUE; |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 1510 |
ChangeCaret(); |
ts.NonblinkingCursor = TRUE; |
| 1511 |
break; |
ChangeCaret(); |
| 1512 |
|
} |
| 1513 |
|
break; |
| 1514 |
case 34: // WYULCURM |
case 34: // WYULCURM |
| 1515 |
ts.CursorShape = IdHCur; |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 1516 |
ChangeCaret(); |
ts.CursorShape = IdHCur; |
| 1517 |
break; |
ChangeCaret(); |
| 1518 |
|
} |
| 1519 |
|
break; |
| 1520 |
} |
} |
| 1521 |
} |
} |
| 1522 |
|
|
| 1548 |
case 4: // IRM |
case 4: // IRM |
| 1549 |
InsertMode = FALSE; break; |
InsertMode = FALSE; break; |
| 1550 |
case 12: // SRM |
case 12: // SRM |
| 1551 |
ts.LocalEcho = 1; |
ts.LocalEcho = 1; |
| 1552 |
if (cv.Ready && cv.TelFlag && (ts.TelEcho>0)) |
if (cv.Ready && cv.TelFlag && (ts.TelEcho>0)) |
| 1553 |
TelChangeEcho(); |
TelChangeEcho(); |
| 1554 |
break; |
break; |
| 1555 |
case 20: // LF/NL |
case 20: // LF/NL |
| 1556 |
LFMode = FALSE; |
LFMode = FALSE; |
| 1557 |
ts.CRSend = IdCR; |
ts.CRSend = IdCR; |
| 1558 |
cv.CRSend = IdCR; |
cv.CRSend = IdCR; |
| 1559 |
break; |
break; |
| 1560 |
case 33: // WYSTCURM |
case 33: // WYSTCURM |
| 1561 |
ts.NonblinkingCursor = FALSE; |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 1562 |
ChangeCaret(); |
ts.NonblinkingCursor = FALSE; |
| 1563 |
break; |
ChangeCaret(); |
| 1564 |
|
} |
| 1565 |
|
break; |
| 1566 |
case 34: // WYULCURM |
case 34: // WYULCURM |
| 1567 |
ts.CursorShape = IdBlkCur; |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 1568 |
ChangeCaret(); |
ts.CursorShape = IdBlkCur; |
| 1569 |
break; |
ChangeCaret(); |
| 1570 |
|
} |
| 1571 |
|
break; |
| 1572 |
} |
} |
| 1573 |
} |
} |
| 1574 |
|
|
| 1791 |
|
|
| 1792 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1793 |
case 1: // De-iconify window |
case 1: // De-iconify window |
| 1794 |
DispShowWindow(WINDOW_RESTORE); |
if (ts.WindowFlag & WF_WINDOWCHANGE) |
| 1795 |
|
DispShowWindow(WINDOW_RESTORE); |
| 1796 |
break; |
break; |
| 1797 |
case 2: // Iconify window |
case 2: // Iconify window |
| 1798 |
DispShowWindow(WINDOW_MINIMIZE); |
if (ts.WindowFlag & WF_WINDOWCHANGE) |
| 1799 |
|
DispShowWindow(WINDOW_MINIMIZE); |
| 1800 |
break; |
break; |
| 1801 |
case 3: // set window position |
case 3: // set window position |
| 1802 |
if (NParam < 2) Param[2] = 0; |
if (ts.WindowFlag & WF_WINDOWCHANGE) { |
| 1803 |
if (NParam < 3) Param[3] = 0; |
if (NParam < 2) Param[2] = 0; |
| 1804 |
DispMoveWindow(Param[2], Param[3]); |
if (NParam < 3) Param[3] = 0; |
| 1805 |
|
DispMoveWindow(Param[2], Param[3]); |
| 1806 |
|
} |
| 1807 |
break; |
break; |
| 1808 |
case 4: // set window size |
case 4: // set window size |
| 1809 |
if (NParam < 2) Param[2] = 0; |
if (ts.WindowFlag & WF_WINDOWCHANGE) { |
| 1810 |
if (NParam < 3) Param[3] = 0; |
if (NParam < 2) Param[2] = 0; |
| 1811 |
DispResizeWin(Param[3], Param[2]); |
if (NParam < 3) Param[3] = 0; |
| 1812 |
|
DispResizeWin(Param[3], Param[2]); |
| 1813 |
|
} |
| 1814 |
break; |
break; |
| 1815 |
case 5: // Raise window |
case 5: // Raise window |
| 1816 |
DispShowWindow(WINDOW_RAISE); |
if (ts.WindowFlag & WF_WINDOWCHANGE) |
| 1817 |
|
DispShowWindow(WINDOW_RAISE); |
| 1818 |
break; |
break; |
| 1819 |
case 6: // Lower window |
case 6: // Lower window |
| 1820 |
DispShowWindow(WINDOW_LOWER); |
if (ts.WindowFlag & WF_WINDOWCHANGE) |
| 1821 |
|
DispShowWindow(WINDOW_LOWER); |
| 1822 |
break; |
break; |
| 1823 |
case 7: // Refresh window |
case 7: // Refresh window |
| 1824 |
DispShowWindow(WINDOW_REFRESH); |
if (ts.WindowFlag & WF_WINDOWCHANGE) |
| 1825 |
|
DispShowWindow(WINDOW_REFRESH); |
| 1826 |
break; |
break; |
| 1827 |
case 8: /* set terminal size */ |
case 8: /* set terminal size */ |
| 1828 |
if ((Param[2]<=1) || (NParam<2)) Param[2] = 24; |
if (ts.WindowFlag & WF_WINDOWCHANGE) { |
| 1829 |
if ((Param[3]<=1) || (NParam<3)) Param[3] = 80; |
if ((Param[2]<=1) || (NParam<2)) Param[2] = 24; |
| 1830 |
ChangeTerminalSize(Param[3],Param[2]); |
if ((Param[3]<=1) || (NParam<3)) Param[3] = 80; |
| 1831 |
|
ChangeTerminalSize(Param[3],Param[2]); |
| 1832 |
|
} |
| 1833 |
break; |
break; |
| 1834 |
case 9: // Maximize/Restore window |
case 9: // Maximize/Restore window |
| 1835 |
if (NParam < 2 || Param[2] == 0) { |
if (ts.WindowFlag & WF_WINDOWCHANGE) { |
| 1836 |
DispShowWindow(WINDOW_RESTORE); |
if (NParam < 2 || Param[2] == 0) { |
| 1837 |
} |
DispShowWindow(WINDOW_RESTORE); |
| 1838 |
else { |
} |
| 1839 |
DispShowWindow(WINDOW_MAXIMIZE); |
else { |
| 1840 |
|
DispShowWindow(WINDOW_MAXIMIZE); |
| 1841 |
|
} |
| 1842 |
} |
} |
| 1843 |
break; |
break; |
| 1844 |
case 11: // Report window state |
case 11: // Report window state |
| 1845 |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%dt", CLocale, DispWindowIconified()?2:1); |
if (ts.WindowFlag & WF_WINDOWREPORT) { |
| 1846 |
SendCSIstr(Report, len); |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%dt", CLocale, DispWindowIconified()?2:1); |
| 1847 |
|
SendCSIstr(Report, len); |
| 1848 |
|
} |
| 1849 |
break; |
break; |
| 1850 |
case 13: // Report window position |
case 13: // Report window position |
| 1851 |
DispGetWindowPos(&x, &y); |
if (ts.WindowFlag & WF_WINDOWREPORT) { |
| 1852 |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "3;%d;%dt", CLocale, x, y); |
DispGetWindowPos(&x, &y); |
| 1853 |
SendCSIstr(Report, len); |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "3;%d;%dt", CLocale, x, y); |
| 1854 |
|
SendCSIstr(Report, len); |
| 1855 |
|
} |
| 1856 |
break; |
break; |
| 1857 |
case 14: /* get window size??? */ |
case 14: /* get window size??? */ |
| 1858 |
/* this is not actual window size */ |
if (ts.WindowFlag & WF_WINDOWREPORT) { |
| 1859 |
SendCSIstr("4;640;480t", 10); |
/* this is not actual window size */ |
| 1860 |
|
SendCSIstr("4;640;480t", 10); |
| 1861 |
|
} |
| 1862 |
break; |
break; |
| 1863 |
case 18: /* get terminal size */ |
case 18: /* get terminal size */ |
| 1864 |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "8;%u;%u;t", CLocale, NumOfLines-StatusLine, NumOfColumns); |
if (ts.WindowFlag & WF_WINDOWREPORT) { |
| 1865 |
SendCSIstr(Report, len); |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "8;%u;%u;t", CLocale, |
| 1866 |
|
NumOfLines-StatusLine, NumOfColumns); |
| 1867 |
|
SendCSIstr(Report, len); |
| 1868 |
|
} |
| 1869 |
break; |
break; |
| 1870 |
case 19: // Report display size (character) |
case 19: // Report display size (character) |
| 1871 |
DispGetRootWinSize(&x, &y); |
if (ts.WindowFlag & WF_WINDOWREPORT) { |
| 1872 |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "9;%d;%dt", CLocale, y, x); |
DispGetRootWinSize(&x, &y); |
| 1873 |
SendCSIstr(Report, len); |
len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "9;%d;%dt", CLocale, y, x); |
| 1874 |
|
SendCSIstr(Report, len); |
| 1875 |
|
} |
| 1876 |
break; |
break; |
| 1877 |
} |
} |
| 1878 |
} |
} |
| 1989 |
CSQExchangeColor(); /* Exchange text/back color */ |
CSQExchangeColor(); /* Exchange text/back color */ |
| 1990 |
break; |
break; |
| 1991 |
case 6: |
case 6: |
| 1992 |
if ((StatusLine>0) && |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
|
(CursorY==NumOfLines-1)) |
|
| 1993 |
MoveCursor(0,CursorY); |
MoveCursor(0,CursorY); |
| 1994 |
else { |
else { |
| 1995 |
RelativeOrgMode = TRUE; |
RelativeOrgMode = TRUE; |
| 2002 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2003 |
MouseReportMode = IdMouseTrackX10; |
MouseReportMode = IdMouseTrackX10; |
| 2004 |
break; |
break; |
| 2005 |
case 12: ts.NonblinkingCursor = FALSE; ChangeCaret(); break; |
case 12: |
| 2006 |
|
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2007 |
|
ts.NonblinkingCursor = FALSE; |
| 2008 |
|
ChangeCaret(); |
| 2009 |
|
} |
| 2010 |
|
break; |
| 2011 |
case 19: PrintEX = TRUE; break; |
case 19: PrintEX = TRUE; break; |
| 2012 |
case 25: DispEnableCaret(TRUE); break; // cursor on |
case 25: DispEnableCaret(TRUE); break; // cursor on |
| 2013 |
case 38: |
case 38: |
| 2098 |
CSQExchangeColor(); /* Exchange text/back color */ |
CSQExchangeColor(); /* Exchange text/back color */ |
| 2099 |
break; |
break; |
| 2100 |
case 6: |
case 6: |
| 2101 |
if ((StatusLine>0) && |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
|
(CursorY==NumOfLines-1)) |
|
| 2102 |
MoveCursor(0,CursorY); |
MoveCursor(0,CursorY); |
| 2103 |
else { |
else { |
| 2104 |
RelativeOrgMode = FALSE; |
RelativeOrgMode = FALSE; |
| 2108 |
case 7: AutoWrapMode = FALSE; break; |
case 7: AutoWrapMode = FALSE; break; |
| 2109 |
case 8: AutoRepeatMode = FALSE; break; |
case 8: AutoRepeatMode = FALSE; break; |
| 2110 |
case 9: MouseReportMode = IdMouseTrackNone; break; |
case 9: MouseReportMode = IdMouseTrackNone; break; |
| 2111 |
case 12: ts.NonblinkingCursor = TRUE; ChangeCaret(); break; |
case 12: |
| 2112 |
|
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2113 |
|
ts.NonblinkingCursor = TRUE; |
| 2114 |
|
ChangeCaret(); |
| 2115 |
|
} |
| 2116 |
|
break; |
| 2117 |
case 19: PrintEX = FALSE; break; |
case 19: PrintEX = FALSE; break; |
| 2118 |
case 25: DispEnableCaret(FALSE); break; // cursor off |
case 25: DispEnableCaret(FALSE); break; // cursor off |
| 2119 |
case 59: |
case 59: |
| 2242 |
void CSSpace(BYTE b) { |
void CSSpace(BYTE b) { |
| 2243 |
switch (b) { |
switch (b) { |
| 2244 |
case 'q': |
case 'q': |
| 2245 |
if (NParam > 0) { |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2246 |
if (Param[1] < 0) Param[1] = 0; |
if (NParam > 0) { |
| 2247 |
switch (Param[1]) { |
if (Param[1] < 0) Param[1] = 0; |
| 2248 |
case 0: |
switch (Param[1]) { |
| 2249 |
case 1: |
case 0: |
| 2250 |
ts.CursorShape = IdBlkCur; |
case 1: |
| 2251 |
ts.NonblinkingCursor = FALSE; |
ts.CursorShape = IdBlkCur; |
| 2252 |
break; |
ts.NonblinkingCursor = FALSE; |
| 2253 |
case 2: |
break; |
| 2254 |
ts.CursorShape = IdBlkCur; |
case 2: |
| 2255 |
ts.NonblinkingCursor = TRUE; |
ts.CursorShape = IdBlkCur; |
| 2256 |
break; |
ts.NonblinkingCursor = TRUE; |
| 2257 |
case 3: |
break; |
| 2258 |
ts.CursorShape = IdHCur; |
case 3: |
| 2259 |
ts.NonblinkingCursor = FALSE; |
ts.CursorShape = IdHCur; |
| 2260 |
break; |
ts.NonblinkingCursor = FALSE; |
| 2261 |
case 4: |
break; |
| 2262 |
ts.CursorShape = IdHCur; |
case 4: |
| 2263 |
ts.NonblinkingCursor = TRUE; |
ts.CursorShape = IdHCur; |
| 2264 |
break; |
ts.NonblinkingCursor = TRUE; |
| 2265 |
case 5: |
break; |
| 2266 |
ts.CursorShape = IdVCur; |
case 5: |
| 2267 |
ts.NonblinkingCursor = FALSE; |
ts.CursorShape = IdVCur; |
| 2268 |
break; |
ts.NonblinkingCursor = FALSE; |
| 2269 |
case 6: |
break; |
| 2270 |
ts.CursorShape = IdVCur; |
case 6: |
| 2271 |
ts.NonblinkingCursor = TRUE; |
ts.CursorShape = IdVCur; |
| 2272 |
break; |
ts.NonblinkingCursor = TRUE; |
| 2273 |
default: |
break; |
| 2274 |
return; |
default: |
| 2275 |
|
return; |
| 2276 |
|
} |
| 2277 |
|
ChangeCaret(); |
| 2278 |
} |
} |
|
ChangeCaret(); |
|
| 2279 |
} |
} |
| 2280 |
break; |
break; |
| 2281 |
} |
} |