| 1505 |
ClearTabStop(Param[1]); |
ClearTabStop(Param[1]); |
| 1506 |
} |
} |
| 1507 |
|
|
| 1508 |
void CS_h_Mode() |
void CS_h_Mode() // SM |
| 1509 |
{ |
{ |
| 1510 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1511 |
case 2: // KAM |
case 2: // KAM |
| 1537 |
} |
} |
| 1538 |
} |
} |
| 1539 |
|
|
| 1540 |
void CS_i_Mode() |
void CS_i_Mode() // MC |
| 1541 |
{ |
{ |
| 1542 |
if (Param[1]==-1) Param[1] = 0; |
if (Param[1]==-1) Param[1] = 0; |
| 1543 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1557 |
} |
} |
| 1558 |
} |
} |
| 1559 |
|
|
| 1560 |
void CS_l_Mode() |
void CS_l_Mode() // RM |
| 1561 |
{ |
{ |
| 1562 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1563 |
case 2: // KAM |
case 2: // KAM |
| 1589 |
} |
} |
| 1590 |
} |
} |
| 1591 |
|
|
| 1592 |
void CS_n_Mode() |
void CS_n_Mode() // DSR |
| 1593 |
{ |
{ |
| 1594 |
char Report[16]; |
char Report[16]; |
| 1595 |
int Y, len; |
int Y, len; |
| 1611 |
} |
} |
| 1612 |
} |
} |
| 1613 |
|
|
| 1614 |
void CSSetAttr() |
void CSSetAttr() // SGR |
| 1615 |
{ |
{ |
| 1616 |
int i, P; |
int i, P; |
| 1617 |
|
|
| 1996 |
} |
} |
| 1997 |
} |
} |
| 1998 |
|
|
| 1999 |
void CSQExchangeColor() |
void CSQExchangeColor() // DECSCNM / Visual Bell |
| 2000 |
{ |
{ |
| 2001 |
COLORREF ColorRef; |
COLORREF ColorRef; |
| 2002 |
|
|
| 2038 |
UpdateWindow(HVTWin); |
UpdateWindow(HVTWin); |
| 2039 |
} |
} |
| 2040 |
|
|
| 2041 |
void CSQ_h_Mode() |
void CSQ_h_Mode() // DECSET |
| 2042 |
{ |
{ |
| 2043 |
int i; |
int i; |
| 2044 |
|
|
| 2045 |
for (i = 1 ; i<=NParam ; i++) |
for (i = 1 ; i<=NParam ; i++) |
| 2046 |
switch (Param[i]) { |
switch (Param[i]) { |
| 2047 |
case 1: AppliCursorMode = TRUE; break; |
case 1: AppliCursorMode = TRUE; break; // DECCKM |
| 2048 |
case 3: |
case 3: // DECCOLM |
| 2049 |
ChangeTerminalSize(132,NumOfLines-StatusLine); |
ChangeTerminalSize(132,NumOfLines-StatusLine); |
| 2050 |
break; |
break; |
| 2051 |
case 5: /* Reverse Video */ |
case 5: /* Reverse Video (DECSCNM) */ |
| 2052 |
if (!(ts.ColorFlag & CF_REVERSEVIDEO)) |
if (!(ts.ColorFlag & CF_REVERSEVIDEO)) |
| 2053 |
CSQExchangeColor(); /* Exchange text/back color */ |
CSQExchangeColor(); /* Exchange text/back color */ |
| 2054 |
break; |
break; |
| 2055 |
case 6: |
case 6: // DECOM |
| 2056 |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
| 2057 |
MoveCursor(0,CursorY); |
MoveCursor(0,CursorY); |
| 2058 |
else { |
else { |
| 2060 |
MoveCursor(0,CursorTop); |
MoveCursor(0,CursorTop); |
| 2061 |
} |
} |
| 2062 |
break; |
break; |
| 2063 |
case 7: AutoWrapMode = TRUE; break; |
case 7: AutoWrapMode = TRUE; break; // DECAWM |
| 2064 |
case 8: AutoRepeatMode = TRUE; break; |
case 8: AutoRepeatMode = TRUE; break; // DECARM |
| 2065 |
case 9: |
case 9: /* X10 Mouse Tracking */ |
| 2066 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2067 |
MouseReportMode = IdMouseTrackX10; |
MouseReportMode = IdMouseTrackX10; |
| 2068 |
break; |
break; |
| 2069 |
case 12: |
case 12: /* att610 cursor blinking */ |
| 2070 |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2071 |
ts.NonblinkingCursor = FALSE; |
ts.NonblinkingCursor = FALSE; |
| 2072 |
ChangeCaret(); |
ChangeCaret(); |
| 2073 |
} |
} |
| 2074 |
break; |
break; |
| 2075 |
case 19: PrintEX = TRUE; break; |
case 19: PrintEX = TRUE; break; // DECPEX |
| 2076 |
case 25: DispEnableCaret(TRUE); break; // cursor on |
case 25: DispEnableCaret(TRUE); break; // cursor on (DECTCEM) |
| 2077 |
case 38: |
case 38: // DECTEK |
| 2078 |
if (ts.AutoWinSwitch>0) |
if (ts.AutoWinSwitch>0) |
| 2079 |
ChangeEmu = IdTEK; /* Enter TEK Mode */ |
ChangeEmu = IdTEK; /* Enter TEK Mode */ |
| 2080 |
break; |
break; |
| 2093 |
Glr[1] = 3; |
Glr[1] = 3; |
| 2094 |
} |
} |
| 2095 |
break; |
break; |
| 2096 |
case 66: AppliKeyMode = TRUE; break; |
case 66: AppliKeyMode = TRUE; break; // DECNKM |
| 2097 |
case 67: ts.BSKey = IdBS; break; |
case 67: ts.BSKey = IdBS; break; // DECBKM |
| 2098 |
case 1000: |
case 1000: // Mouse Tracking |
| 2099 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2100 |
MouseReportMode = IdMouseTrackVT200; |
MouseReportMode = IdMouseTrackVT200; |
| 2101 |
break; |
break; |
| 2102 |
case 1001: |
case 1001: // Hilite Mouse Tracking |
| 2103 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2104 |
MouseReportMode = IdMouseTrackVT200Hl; |
MouseReportMode = IdMouseTrackVT200Hl; |
| 2105 |
break; |
break; |
| 2106 |
case 1002: |
case 1002: // Button-Event Mouse Tracking |
| 2107 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2108 |
MouseReportMode = IdMouseTrackBtnEvent; |
MouseReportMode = IdMouseTrackBtnEvent; |
| 2109 |
break; |
break; |
| 2110 |
case 1003: |
case 1003: // Any-Event Mouse Tracking |
| 2111 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2112 |
MouseReportMode = IdMouseTrackAllEvent; |
MouseReportMode = IdMouseTrackAllEvent; |
| 2113 |
break; |
break; |
| 2114 |
case 1004: |
case 1004: // Focus Report |
| 2115 |
if (ts.MouseEventTracking) |
if (ts.MouseEventTracking) |
| 2116 |
FocusReportMode = TRUE; |
FocusReportMode = TRUE; |
| 2117 |
break; |
break; |
| 2118 |
} |
} |
| 2119 |
} |
} |
| 2120 |
|
|
| 2121 |
void CSQ_i_Mode() |
void CSQ_i_Mode() // MC (DEC) |
| 2122 |
{ |
{ |
| 2123 |
if (Param[1]==-1) Param[1] = 0; |
if (Param[1]==-1) Param[1] = 0; |
| 2124 |
switch (Param[1]) { |
switch (Param[1]) { |
| 2147 |
} |
} |
| 2148 |
} |
} |
| 2149 |
|
|
| 2150 |
void CSQ_l_Mode() |
void CSQ_l_Mode() // DECRST |
| 2151 |
{ |
{ |
| 2152 |
int i; |
int i; |
| 2153 |
|
|
| 2154 |
for (i = 1 ; i <= NParam ; i++) |
for (i = 1 ; i <= NParam ; i++) |
| 2155 |
switch (Param[i]) { |
switch (Param[i]) { |
| 2156 |
case 1: AppliCursorMode = FALSE; break; |
case 1: AppliCursorMode = FALSE; break; // DECCKM |
| 2157 |
case 3: |
case 3: // DECCOLM |
| 2158 |
ChangeTerminalSize(80,NumOfLines-StatusLine); |
ChangeTerminalSize(80,NumOfLines-StatusLine); |
| 2159 |
break; |
break; |
| 2160 |
case 5: /* Normal Video */ |
case 5: /* Normal Video (DECSCNM) */ |
| 2161 |
if (ts.ColorFlag & CF_REVERSEVIDEO) |
if (ts.ColorFlag & CF_REVERSEVIDEO) |
| 2162 |
CSQExchangeColor(); /* Exchange text/back color */ |
CSQExchangeColor(); /* Exchange text/back color */ |
| 2163 |
break; |
break; |
| 2164 |
case 6: |
case 6: // DECOM |
| 2165 |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
if ((StatusLine>0) && (CursorY==NumOfLines-1)) |
| 2166 |
MoveCursor(0,CursorY); |
MoveCursor(0,CursorY); |
| 2167 |
else { |
else { |
| 2169 |
MoveCursor(0,0); |
MoveCursor(0,0); |
| 2170 |
} |
} |
| 2171 |
break; |
break; |
| 2172 |
case 7: AutoWrapMode = FALSE; break; |
case 7: AutoWrapMode = FALSE; break; // DECAWM |
| 2173 |
case 8: AutoRepeatMode = FALSE; break; |
case 8: AutoRepeatMode = FALSE; break; // DECARM |
| 2174 |
case 9: MouseReportMode = IdMouseTrackNone; break; |
case 9: MouseReportMode = IdMouseTrackNone; break; /* X10 Mouse Tracking */ |
| 2175 |
case 12: |
case 12: /* att610 cursor blinking */ |
| 2176 |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2177 |
ts.NonblinkingCursor = TRUE; |
ts.NonblinkingCursor = TRUE; |
| 2178 |
ChangeCaret(); |
ChangeCaret(); |
| 2179 |
} |
} |
| 2180 |
break; |
break; |
| 2181 |
case 19: PrintEX = FALSE; break; |
case 19: PrintEX = FALSE; break; // DECPEX |
| 2182 |
case 25: DispEnableCaret(FALSE); break; // cursor off |
case 25: DispEnableCaret(FALSE); break; // cursor off (DECTCEM) |
| 2183 |
case 59: |
case 59: |
| 2184 |
if (ts.Language==IdJapanese) |
if (ts.Language==IdJapanese) |
| 2185 |
{ /* katakana terminal */ |
{ /* katakana terminal */ |
| 2195 |
Glr[1] = 3; |
Glr[1] = 3; |
| 2196 |
} |
} |
| 2197 |
break; |
break; |
| 2198 |
case 66: AppliKeyMode = FALSE; break; |
case 66: AppliKeyMode = FALSE; break; // DECNKM |
| 2199 |
case 67: ts.BSKey = IdDEL; break; |
case 67: ts.BSKey = IdDEL; break; // DECBKM |
| 2200 |
case 1000: |
case 1000: // Mouse Tracking |
| 2201 |
case 1001: |
case 1001: // Hilite Mouse Tracking |
| 2202 |
case 1002: |
case 1002: // Button-Event Mouse Tracking |
| 2203 |
case 1003: MouseReportMode = IdMouseTrackNone; break; |
case 1003: MouseReportMode = IdMouseTrackNone; break; // Any-Event Mouse Tracking |
| 2204 |
case 1004: FocusReportMode = FALSE; break; |
case 1004: FocusReportMode = FALSE; break; // Focus Report |
| 2205 |
} |
} |
| 2206 |
} |
} |
| 2207 |
|
|
| 2208 |
void CSQ_n_Mode() |
void CSQ_n_Mode() // DSR (DEC) |
| 2209 |
{ |
{ |
| 2210 |
} |
} |
| 2211 |
|
|
| 2212 |
void CSQuest(BYTE b) |
void CSQuest(BYTE b) |
| 2213 |
{ |
{ |
| 2214 |
switch (b) { |
switch (b) { |
| 2215 |
case 'K': CSLineErase(); break; |
case 'K': CSLineErase(); break; // DECSEL |
| 2216 |
case 'h': CSQ_h_Mode(); break; |
case 'h': CSQ_h_Mode(); break; // DECSET |
| 2217 |
case 'i': CSQ_i_Mode(); break; |
case 'i': CSQ_i_Mode(); break; // MC (DEC) |
| 2218 |
case 'l': CSQ_l_Mode(); break; |
case 'l': CSQ_l_Mode(); break; // DECRST |
| 2219 |
case 'n': CSQ_n_Mode(); break; |
case 'n': CSQ_n_Mode(); break; // DSR (DEC) |
| 2220 |
} |
} |
| 2221 |
} |
} |
| 2222 |
|
|