[Ttssh2-commit] [4829] Extended Mouse Tracking (rxvt-unicode) に対応

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2012年 2月 6日 (月) 13:14:21 JST


Revision: 4829
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4829
Author:   doda
Date:     2012-02-06 13:14:20 +0900 (Mon, 06 Feb 2012)
Log Message:
-----------
Extended Mouse Tracking (rxvt-unicode) に対応

Modified Paths:
--------------
    trunk/teraterm/common/tttypes.h
    trunk/teraterm/teraterm/vtterm.c

-------------- next part --------------
Modified: trunk/teraterm/common/tttypes.h
===================================================================
--- trunk/teraterm/common/tttypes.h	2012-02-06 03:02:07 UTC (rev 4828)
+++ trunk/teraterm/common/tttypes.h	2012-02-06 04:14:20 UTC (rev 4829)
@@ -629,8 +629,8 @@
   /* Extended mouse tracking mode */
 #define IdMouseTrackExtNone  0
 #define IdMouseTrackExtUTF8  1
-#define IdMouseTrackExtSGR   2  // \x82\xBB\x82̂\xA4\x82\xBF\x81c
-#define IdMouseTrackExtURXVT 3  // \x8BC\x82\xAA\x8C\xFC\x82\xA2\x82\xBD\x82\xE7\x81c
+#define IdMouseTrackExtSGR   2
+#define IdMouseTrackExtURXVT 3
 
   /* Mouse event */
 #define IdMouseEventCurStat  0

Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2012-02-06 03:02:07 UTC (rev 4828)
+++ trunk/teraterm/teraterm/vtterm.c	2012-02-06 04:14:20 UTC (rev 4829)
@@ -2381,6 +2381,10 @@
 	    if (ts.MouseEventTracking)
 	      MouseReportExtMode = IdMouseTrackExtSGR;
 	    break;
+	  case 1015: // Extended Mouse Tracking (rxvt-unicode)
+	    if (ts.MouseEventTracking)
+	      MouseReportExtMode = IdMouseTrackExtURXVT;
+	    break;
 	  case 1047: // Alternate Screen Buffer
 	    if ((ts.TermFlag & TF_ALTSCR) && !AltScr) {
 	      BuffSaveScreen();
@@ -2515,6 +2519,7 @@
 	    break;
 	  case 1005: // Extended Mouse Tracking (UTF-8)
 	  case 1006: // Extended Mouse Tracking (SGR)
+	  case 1015: // Extended Mouse Tracking (rxvt-unicode)
 	      MouseReportExtMode = IdMouseTrackExtNone;
 	    break;
 	  case 1047: // Alternate Screen Buffer
@@ -4585,6 +4590,7 @@
     if (y >= MOUSE_POS_LIMIT) y = MOUSE_POS_LIMIT;
     return _snprintf_s_l(buff, buffsize, _TRUNCATE, "M%c%c%c", CLocale, mb+32, x+32, y+32);
     break;
+
   case IdMouseTrackExtUTF8:
     if (x >= MOUSE_POS_EXT_LIMIT) x = MOUSE_POS_EXT_LIMIT;
     if (y >= MOUSE_POS_EXT_LIMIT) y = MOUSE_POS_EXT_LIMIT;
@@ -4610,9 +4616,14 @@
     }
     return _snprintf_s_l(buff, buffsize, _TRUNCATE, "M%c%s%s", CLocale, mb+32, tmpx, tmpy);
     break;
+
   case IdMouseTrackExtSGR:
     return _snprintf_s_l(buff, buffsize, _TRUNCATE, "<%d;%d;%d%c", CLocale, mb&0x7f, x, y, (mb&0x80)?'m':'M');
     break;
+
+  case IdMouseTrackExtURXVT:
+    return _snprintf_s_l(buff, buffsize, _TRUNCATE, "%d;%d;%dM", CLocale, mb+32, x, y);
+    break;
   }
   buff[0] = 0;
   return 0;



Ttssh2-commit メーリングリストの案内
Back to archive index