1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
From 3e765d49976685a8772bd3e12a8c5546868a97f7 Mon Sep 17 00:00:00 2001
From: SD Asif Hossein <s.dah.ingularity47@gmail.com>
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
|