putty 是否支持 SET_ANY_EVENT_MOUSE ,如果是如何启用它?

does putty support SET_ANY_EVENT_MOUSE , if yes how enable it?

我正在为类似 ncurses 的库添加鼠标支持 我正在发送控制序列:

SET_ANY_EVENT_MOUSE (1003h)但是putty好像不支持?

支持SET_BTN_EVENT_MOUSE (1002h)

我尝试过的所有其他终端(xterm、vte bases 终端、iterm)工作正常。 putty 是否也支持 SET_ANY_EVENT_MOUSE,我必须启用其他功能吗?

您将如何调试此类控制序列?

我会查看 PuTTY 的源代码,它位于 Git 存储库中。要查看的相关位置在 toggle_mode 函数中的 terminal.c 中。 switch/case 语句按模式编号排序:

      case 1000:                   /* xterm mouse 1 (normal) */
        term->xterm_mouse = state ? 1 : 0;
        win_set_raw_mouse_mode(term->win, state);
        break;
      case 1002:                   /* xterm mouse 2 (inc. button drags) */
        term->xterm_mouse = state ? 2 : 0;
        win_set_raw_mouse_mode(term->win, state);
        break;
      case 1006:                   /* xterm extended mouse */
        term->xterm_extended_mouse = state;
        break;
      case 1015:                   /* urxvt extended mouse */
        term->urxvt_extended_mouse = state;
        break;
      case 1047:

如您所见,它对 1003 没有任何作用(日志也没有在任何地方提到它)。

我会link到消息来源,但主机目前没有响应。但是,从我的本地副本中,我看到这里添加了 1002 功能:

commit 93101b5a716c3464789ecf5af6403c68559afa43
Author: Simon Tatham <anakin@pobox.com>
Date:   Sun May 6 14:20:41 2001 +0000

    Wez Furlong's patch to add xterm mouse reporting and proper mouse
    wheel support.

    [originally from svn r1097]

diff --git a/terminal.c b/terminal.c

所以这不是最近被忽视的问题。