SOURCES: fbterm-wheelmouse.patch (NEW) - added support for the wheelmouse (...
witekfl
witekfl at pld-linux.org
Tue Dec 16 19:59:40 CET 2008
Author: witekfl Date: Tue Dec 16 18:59:40 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- added support for the wheelmouse (works with ELinks)
---- Files affected:
SOURCES:
fbterm-wheelmouse.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/fbterm-wheelmouse.patch
diff -u /dev/null SOURCES/fbterm-wheelmouse.patch:1.1
--- /dev/null Tue Dec 16 19:59:41 2008
+++ SOURCES/fbterm-wheelmouse.patch Tue Dec 16 19:59:35 2008
@@ -0,0 +1,56 @@
+diff -Nru fbterm-1.2/src/lib/shell.cpp fbterm-1.2.new/src/lib/shell.cpp
+--- fbterm-1.2/src/lib/shell.cpp 2008-10-12 11:50:02.000000000 +0200
++++ fbterm-1.2.new/src/lib/shell.cpp 2008-12-16 19:50:29.000000000 +0100
+@@ -142,6 +142,10 @@
+ case Release:
+ if (rtype == MouseX11) val = 3;
+ break;
++ case Wheel:
++ val = 64;
++ if (btn & WheelDown) val |= 1;
++ break;
+ default:
+ break;
+ }
+diff -Nru fbterm-1.2/src/lib/shell.h fbterm-1.2.new/src/lib/shell.h
+--- fbterm-1.2/src/lib/shell.h 2008-10-12 11:50:02.000000000 +0200
++++ fbterm-1.2.new/src/lib/shell.h 2008-12-16 19:21:55.000000000 +0100
+@@ -23,11 +23,13 @@
+ #include "io.h"
+ #include "vterm.h"
+
+-enum MouseType { Press = 0, Release, DblClick, Move };
++enum MouseType { Press = 0, Release, DblClick, Move, Wheel };
+
+ enum ButtonState {
+ NoButton = 0x0000,
+ LeftButton = 0x0001,
++ WheelDown = 0x0001,
++ WheelUp = 0x0002,
+ RightButton = 0x0002,
+ MidButton = 0x0004,
+ MouseButtonMask = 0x0007,
+diff -Nru fbterm-1.2/src/mouse.cpp fbterm-1.2.new/src/mouse.cpp
+--- fbterm-1.2/src/mouse.cpp 2008-10-12 11:50:02.000000000 +0200
++++ fbterm-1.2.new/src/mouse.cpp 2008-12-16 19:43:09.000000000 +0100
+@@ -101,7 +101,8 @@
+ Gpm_Event *ev = (Gpm_Event*)buf;
+ s32 type = -1, buttons = 0;
+
+- if ((ev->type & GPM_MOVE) || (ev->type & GPM_DRAG)) type = Move;
++ if (ev->wdy) type = Wheel;
++ else if ((ev->type & GPM_MOVE) || (ev->type & GPM_DRAG)) type = Move;
+ else if (ev->type & GPM_DOWN) type = (ev->type & GPM_DOUBLE) ? DblClick : Press;
+ else if (ev->type & GPM_UP) type = Release;
+ if (type == -1) return;
+@@ -121,6 +122,10 @@
+ if (newy < 0) newy = 0;
+ if (newx >= maxx) newx = maxx - 1;
+ if (newy >= maxy) newy = maxy - 1;
++ if (type == Wheel) {
++ if (ev->wdy < 0) buttons |= WheelDown;
++ else buttons |= WheelUp;
++ }
+
+ if (newx == x && newy == y && !(buttons & MouseButtonMask)) return;
+
================================================================
More information about the pld-cvs-commit
mailing list