【问题标题】:C curses doesn't catch mouse eventC curses 不捕获鼠标事件
【发布时间】:2016-04-28 15:06:59
【问题描述】:

我正在尝试在诅咒程序中实现上下滚动,目前我只是想捕捉事件并显示它的编号:

MEVENT event;
mousemask(ALL_MOUSE_EVENTS, NULL);

while (ch != 126)
{
  ch=wgetch (current->child);
  switch(ch)
  {
    case KEY_MOUSE:
      if(getmouse(&event) == OK)
          wprintw (current->child, "\nmouse event: %d\n", event.bstate);
      break;
    default:
          wprintw (current->child, "key: %d\n", ch);
  }
  wrefresh (current->child );
}

has_mouse() 返回1,但是没有捕获到事件,没有点击,没有鼠标滚轮...

我也在使用ncurses 6.0.4,所以应该支持鼠标滚轮。

【问题讨论】:

  • 不,Linux。我只是在寻找另一个时间后才发现它找到了一个帖子!它需要将keypad 设置为true。现在它起作用了。还缺少一件事,我可以用BUTTON4_PRESSED 捕捉鼠标向上滚动,但在任何按钮事件中都没有捕获向下滚动(我在一个大的if/else if 中尝试了它们)。跨度>

标签: c mouseevent ncurses curses


【解决方案1】:

缺乏捕捉滚轮鼠标声音的能力,就像 ncurses5 应用程序一样。该功能适用​​于 xterm(以及实现 xterm 样式鼠标控件的程序)。问题中没有足够的信息来猜测是哪种类型的问题阻止您看到鼠标事件。

没有“ncurses 6.0.4”这样的东西。 ncurses 版本有一个主要、次要和补丁日期。目前最新的开发版本是6.0.20160423

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2016-04-19
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多