Windows上的ncurses,无法接收KEY_MOUSE

时间:2018-07-08 13:15:51

标签: terminal ncurses

这是我的程序。它不会检测到KEY_MOUSE,但是退出'q'就可以了。 '5'也同时在键盘和数字键盘上退出。

#include <ncurses.h>

int main()
{
    initscr();

    // noecho();
    cbreak();
    // raw();

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


    move(10,30);
    printw("Hello ncurses!\n");
    refresh();

    while(true) {
        int c = getch();
        // int c = wgetch(stdscr);
        if (c == 'q') break;
        if (c == '5') break;
        if (c == KEY_MOUSE) break;
    }

    endwin();
    return 0;
}

我不确定问题是在程序中还是在我的环境中。我用msys2在Windows上编译它。另外,我还安装了clink,只是为了减轻工作负担cmd.exe

1 个答案:

答案 0 :(得分:0)

也许您将$TERM设置为带有不支持鼠标的终端说明的内容,例如 linux { {1}} 。 msys2的控制台窗口是mintty,它基于PuTTY。