Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/vtterm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3715 by doda, Sat Dec 12 06:42:18 2009 UTC revision 3742 by doda, Wed Jan 27 13:38:58 2010 UTC
# Line 1505  void CSScreenErase() Line 1505  void CSScreenErase()
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
# Line 1537  void CSScreenErase() Line 1537  void CSScreenErase()
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]) {
# Line 1557  void CSScreenErase() Line 1557  void CSScreenErase()
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
# Line 1589  void CSScreenErase() Line 1589  void CSScreenErase()
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;
# Line 1611  void CSScreenErase() Line 1611  void CSScreenErase()
1611      }      }
1612    }    }
1613    
1614  void CSSetAttr()  void CSSetAttr()                // SGR
1615  {  {
1616          int i, P;          int i, P;
1617    
# Line 1996  void CSSetAttr() Line 1996  void CSSetAttr()
1996      }      }
1997    }    }
1998    
1999      void CSQExchangeColor()      void CSQExchangeColor()             // DECSCNM / Visual Bell
2000      {      {
2001        COLORREF ColorRef;        COLORREF ColorRef;
2002    
# Line 2038  void CSSetAttr() Line 2038  void CSSetAttr()
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 {
# Line 2060  void CSSetAttr() Line 2060  void CSSetAttr()
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;
# Line 2093  void CSSetAttr() Line 2093  void CSSetAttr()
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]) {
# Line 2147  void CSSetAttr() Line 2147  void CSSetAttr()
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 {
# Line 2169  void CSSetAttr() Line 2169  void CSSetAttr()
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 */
# Line 2195  void CSSetAttr() Line 2195  void CSSetAttr()
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    

Legend:
Removed from v.3715  
changed lines
  Added in v.3742

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26