Ncurses mouse wheel scroll up

Viewed 3870

I want to handle scroll with the mouse wheel using ncurses but I am having a problem similar to this issue :

http://lists.gnu.org/archive/html/bug-ncurses/2012-01/msg00011.html

Besides, mouse wheel-up event is only reported as mask 02000000
(BUTTON4_PRESSED) just one time, even if I scroll the wheel continuously.

I tried ncurses 5.7 to 5.9 on debian 5,6,7 and archlinux. Every single ncurses lib had NCURSES_MOUSE_VERSION 1, tried recompiling with --enable-ext-mouse.

Scrolling down works perfectly, ncurses reports multiple REPORT_MOUSE_POSITION 0x8000000 per scroll and a single BUTTON2_PRESSED 0x128.

Scrolling up causes only a single report of BUTTON4_PRESSED 0x80000

MEVENT event;

mousemask(BUTTON1_CLICKED|BUTTON4_PRESSED|BUTTON2_PRESSED, NULL); // Tried with REPORT_MOUSE_POSITION also

while(run)
{
  switch(in = getch())
  {
     case KEY_MOUSE:
         if(getmouse(&event) == OK)
         { 
           else if (event.bstate & BUTTON4_PRESSED)
             line_up();
           else if (event.bstate & BUTTON2_PRESSED || event.bstate == 0x8000000)
             line_down();
         }
         break;
   }
 }
2 Answers
Related