]> git.pld-linux.org Git - packages/fbterm.git/blob - fbterm-wheelmouse.patch
- updated for 1.3
[packages/fbterm.git] / fbterm-wheelmouse.patch
1 diff -Nru fbterm-1.2/src/lib/shell.cpp fbterm-1.2.new/src/lib/shell.cpp
2 --- fbterm-1.2/src/lib/shell.cpp        2008-10-12 11:50:02.000000000 +0200
3 +++ fbterm-1.2.new/src/lib/shell.cpp    2008-12-16 19:50:29.000000000 +0100
4 @@ -142,6 +142,10 @@
5         case Release:
6                 if (rtype == MouseX11) val = 3;
7                 break;
8 +       case Wheel:
9 +               val = 64;
10 +               if (btn & WheelDown) val |= 1;
11 +               break;
12         default:
13                 break;
14         }
15 diff -Nru fbterm-1.2/src/lib/shell.h fbterm-1.2.new/src/lib/shell.h
16 --- fbterm-1.2/src/lib/shell.h  2008-10-12 11:50:02.000000000 +0200
17 +++ fbterm-1.2.new/src/lib/shell.h      2008-12-16 19:21:55.000000000 +0100
18 @@ -23,11 +23,13 @@
19  #include "io.h"
20  #include "vterm.h"
21  
22 -enum MouseType { Press = 0, Release, DblClick, Move };
23 +enum MouseType { Press = 0, Release, DblClick, Move, Wheel };
24  
25  enum ButtonState {
26         NoButton        = 0x0000,
27         LeftButton      = 0x0001,
28 +       WheelDown       = 0x0001,
29 +       WheelUp         = 0x0002,
30         RightButton     = 0x0002,
31         MidButton       = 0x0004,
32         MouseButtonMask = 0x0007,
33 diff -Nru fbterm-1.2/src/mouse.cpp fbterm-1.2.new/src/mouse.cpp
34 --- fbterm-1.2/src/mouse.cpp    2008-10-12 11:50:02.000000000 +0200
35 +++ fbterm-1.2.new/src/mouse.cpp        2008-12-16 19:43:09.000000000 +0100
36 @@ -101,7 +101,8 @@
37         Gpm_Event *ev = (Gpm_Event*)buf;
38         s32 type = -1, buttons = 0;
39  
40 -       if ((ev->type & GPM_MOVE) || (ev->type & GPM_DRAG)) type = Move;
41 +       if (ev->wdy) type = Wheel;
42 +       else if ((ev->type & GPM_MOVE) || (ev->type & GPM_DRAG)) type = Move;
43         else if (ev->type & GPM_DOWN) type = (ev->type & GPM_DOUBLE) ? DblClick : Press;
44         else if (ev->type & GPM_UP) type = Release;
45         if (type == -1) return;
46 @@ -121,6 +122,10 @@
47         if (newy < 0) newy = 0;
48         if (newx >= maxx) newx = maxx - 1;
49         if (newy >= maxy) newy = maxy - 1;
50 +       if (type == Wheel) {
51 +               if (ev->wdy < 0) buttons |= WheelDown;
52 +               else buttons |= WheelUp;
53 +       }
54  
55         if (newx == x && newy == y && !(buttons & MouseButtonMask)) return;
56         
This page took 2.973304 seconds and 3 git commands to generate.