微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何配置VSCode集成终端以捕获ncurses鼠标事件?

如何解决如何配置VSCode集成终端以捕获ncurses鼠标事件?

我目前正在使用Dan Gookin's Guide to Ncurses Programming,并且在VSCode集成终端中运行时,我的程序无法接收ncurses鼠标事件。这在外部终端中按预期工作。但是,VSCode terminal dependency似乎声称支持鼠标事件。

这是我正在运行的完整程序。集成终端能够捕获换行键以退出程序,但是鼠标事件不会像其他终端那样记录。

#include <ncurses.h>

int main()
{
    initscr();

    if (!NCURSES_MOUSE_VERSION)
    {
        addstr("Mouse Functions Unavailable.\n");
        refresh();
        getch();
        goto done;
    }

    noecho();
    keypad(stdscr,TRUE);
    mousemask(ALL_MOUSE_EVENTS,NULL);

    while (true)
    {
        int ch = getch();
        if (ch == KEY_MOUSE)
        {
            MEVENT mort;
            getmouse(&mort);
            move(0,0);
            clrtoeol();
            printw("%d\t%d",mort.y,mort.x);
            refresh();
            continue;
        }
        if (ch == '\n')
            break;
    }

done:
    endwin();
    return 0;
}


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。