From 3e765d49976685a8772bd3e12a8c5546868a97f7 Mon Sep 17 00:00:00 2001 From: SD Asif Hossein Date: Fri, 12 Jul 2024 14:28:06 +0600 Subject: [PATCH] Added scroll-factor patch --- config.def.h | 3 +++ dwl.c | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index 22d2171..83c4b87 100644 --- a/config.def.h +++ b/config.def.h @@ -71,6 +71,9 @@ static const int natural_scrolling = 0; static const int disable_while_typing = 1; static const int left_handed = 0; static const int middle_button_emulation = 0; +/* Scroll sensitivity */ +static const double scroll_factor = 1.0f; + /* You can choose between: LIBINPUT_CONFIG_SCROLL_NO_SCROLL LIBINPUT_CONFIG_SCROLL_2FG diff --git a/dwl.c b/dwl.c index dc0437e..7e8d50d 100644 --- a/dwl.c +++ b/dwl.c @@ -581,13 +581,20 @@ axisnotify(struct wl_listener *listener, void *data) /* This event is forwarded by the cursor when a pointer emits an axis event, * for example when you move the scroll wheel. */ struct wlr_pointer_axis_event *event = data; + double delta = event->delta; + int32_t delta_disc = event->delta_discrete; + if(event->source == WLR_AXIS_SOURCE_FINGER) { + delta *= scroll_factor; + delta_disc = (int32_t)round(scroll_factor * delta_disc); + } + wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); /* TODO: allow usage of scroll whell for mousebindings, it can be implemented * checking the event's orientation and the delta of the event */ /* Notify the client with pointer focus of the axis event. */ wlr_seat_pointer_notify_axis(seat, - event->time_msec, event->orientation, event->delta, - event->delta_discrete, event->source); + event->time_msec, event->orientation, delta, + delta_disc, event->source); } void -- 2.45.2