Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9846f350 authored by Chase Douglas's avatar Chase Douglas Committed by Jiri Kosina
Browse files

HID: magicmouse: disable and add module param for scroll acceleration



Scroll acceleration is unique to the magicmouse driver, and is
unintuitive to a user who is unaware of the functionality. Thus, disable
it by default, but add a module parameter to enable it for power users
who want it.

Signed-off-by: default avatarChase Douglas <chase.douglas@canonical.com>
Acked-by: default avatarMichael Poole <mdpoole@troilus.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent ef566d30
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -30,6 +30,10 @@ static bool emulate_scroll_wheel = true;
module_param(emulate_scroll_wheel, bool, 0644);
MODULE_PARM_DESC(emulate_scroll_wheel, "Emulate a scroll wheel");

static bool scroll_acceleration = false;
module_param(scroll_acceleration, bool, 0644);
MODULE_PARM_DESC(scroll_acceleration, "Accelerate sequential scroll events");

static bool report_touches = true;
module_param(report_touches, bool, 0644);
MODULE_PARM_DESC(report_touches, "Emit touch records (otherwise, only use them for emulation)");
@@ -177,7 +181,9 @@ static void magicmouse_emit_touch(struct magicmouse_sc *msc, int raw_id, u8 *tda
		switch (tdata[7] & TOUCH_STATE_MASK) {
		case TOUCH_STATE_START:
			msc->touches[id].scroll_y = y;
			msc->scroll_accel = min_t(int, msc->scroll_accel + 1,
			if (scroll_acceleration)
				msc->scroll_accel = min_t(int,
						msc->scroll_accel + 1,
						ARRAY_SIZE(accel_profile) - 1);
			break;
		case TOUCH_STATE_DRAG: