Hi,
the ws(4) mouse driver has the option of emulating the mouse wheel
on motion + a given button is generated.
This is active by default on button 2 on recent Linux systems (those
using libinput).
Should OpenBSD's ws(4) activate it by default too ?
If you want to experiment without rebuilding X you can run the
commands below to enable it
xinput --set-prop --type=int /dev/wsmouse 'WS Pointer Wheel Emulation' 1
xinput --set-prop --type=int /dev/wsmouse 'WS Pointer Wheel Emulation Button' 2
Index: man/ws.man
===================================================================
RCS file: /cvs/OpenBSD/xenocara/driver/xf86-input-ws/man/ws.man,v
retrieving revision 1.14
diff -u -r1.14 ws.man
--- man/ws.man 3 Sep 2016 14:01:16 -0000 1.14
+++ man/ws.man 16 Jun 2018 14:12:49 -0000
@@ -94,7 +94,7 @@
and
.B YAxisMapping
options.
-Default: off.
+Default: on.
.TP 4
.BI "Option \*qEmulateWheelButton\*q \*q" integer \*q
Specifies which button must be held down to enable wheel emulation mode.
@@ -107,7 +107,7 @@
If the button is 0 and
.BR EmulateWheel
is on, any motion of the device is converted into wheel events.
-Default:\ 4.
+Default:\ 2.
.TP 4
.BI "Option \*qEmulateWheelInertia\*q \*q" integer \*q
Specifies how far (in pixels) the pointer must move to generate button
Index: src/emuwheel.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/driver/xf86-input-ws/src/emuwheel.c,v
retrieving revision 1.3
diff -u -r1.3 emuwheel.c
--- src/emuwheel.c 25 Dec 2015 15:08:28 -0000 1.3
+++ src/emuwheel.c 16 Jun 2018 14:12:49 -0000
@@ -178,9 +178,9 @@
int button, inertia, timeout;
priv->emulateWheel.enabled = xf86SetBoolOption(pInfo->options,
- "EmulateWheel", FALSE);
+ "EmulateWheel", TRUE);
- button = xf86SetIntOption(pInfo->options, "EmulateWheelButton", 4);
+ button = xf86SetIntOption(pInfo->options, "EmulateWheelButton", 2);
if (button < 0 || button > NBUTTONS) {
xf86IDrvMsg(pInfo, X_WARNING,
"Invalid EmulateWheelButton value: %d\n", button);
--
Matthieu Herrb