我有以下代码:

#include <ncurses.h>
#include <string.h>

int
main()
{
    int ch;

    initscr();
    noecho();
    cbreak();
    refresh();

    while(1)
    {
        ch = getch();
        addch(ch);
    };

    return 0;
}

当按下鼠标按钮时,它应该在屏幕上输出一些东西,但没有。
我尝试了修复Mouse movement events in NCurses的技巧,但没有成功。
同样,当我在同一个终端上运行htop时,鼠标点击也可以。而htop似乎没有什么不同,是吗?https://github.com/hishamhm/htop/search?q=MOUSE&ref=cmdform

最佳答案

我加了一个mousemask,现在可以用了。

#include <ncurses.h>
#include <string.h>

int
main()
{
    int ch;

    initscr();
    noecho();
    cbreak();
    refresh();
    mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION, NULL);

    while(1)
    {
        ch = getch();
        addch(ch);
    };

    return 0;
}

关于c - C语言中简单的NCURSES鼠标处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23521139/

10-13 08:08