]> git.pld-linux.org Git - packages/fbterm.git/blame - fbterm-wheelmouse.patch
- updated for 1.3
[packages/fbterm.git] / fbterm-wheelmouse.patch
CommitLineData
82002a71 1diff -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 }
15diff -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,
33diff -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 0.077204 seconds and 4 git commands to generate.