alpha
Login
or
Join now
lass.pds.lassul.us
/
superconfig
Star
0
Fork
1
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
1
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
1
Pipelines
machines.yellow: remove flaresolverr
author
lassulus
date
2 years ago
(Feb 16, 2025, 3:15 AM CET)
commit
18a1885f
18a1885f0661173116f4d9e5aed2c2c3f72114a0
parent
1ed7ec4e
1ed7ec4ed53198586306418aa16a9e141427586b
+459
-5
2 changed files
Expand all
Collapse all
Unified
Split
2configs
desktops
lib
gamescope_libinput.patch
services
flix
default.nix
+459
2configs/desktops/lib/gamescope_libinput.patch
View file
Reviewed
···
1
1
+
From 8518bc9b6ce13b0beffde1e59dae347e25adec84 Mon Sep 17 00:00:00 2001
2
2
+
From: honjow <honjow311@gmail.com>
3
3
+
Date: Tue, 25 Jun 2024 21:52:11 +0800
4
4
+
Subject: [PATCH 1/3] feat: Support libinput pointer settings.
5
5
+
6
6
+
---
7
7
+
src/main.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++
8
8
+
src/main.hpp | 12 ++++++++++++
9
9
+
src/wlserver.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++
10
10
+
3 files changed, 99 insertions(+)
11
11
+
12
12
+
diff --git a/src/main.cpp b/src/main.cpp
13
13
+
index e8ebd66a30..37dfb8ebcb 100644
14
14
+
--- a/src/main.cpp
15
15
+
+++ b/src/main.cpp
16
16
+
@@ -145,6 +145,12 @@ const struct option *gamescope_options = (struct option[]){
17
17
+
// Steam Deck options
18
18
+
{ "mura-map", required_argument, nullptr, 0 },
19
19
+
20
20
+
+ // Pointer options
21
21
+
+ { "tap-to-click", no_argument, nullptr, 0 },
22
22
+
+ { "tap-to-drag", no_argument, nullptr, 0 },
23
23
+
+ { "drag-lock", no_argument, nullptr, 0 },
24
24
+
+ { "natural-scrolling", required_argument, nullptr, 0 },
25
25
+
+
26
26
+
{} // keep last
27
27
+
};
28
28
+
29
29
+
@@ -256,6 +262,16 @@ const char usage[] =
30
30
+
"Steam Deck options:\n"
31
31
+
" --mura-map Set the mura compensation map to use for the display. Takes in a path to the mura map.\n"
32
32
+
"\n"
33
33
+
+ "Libinput Pointer options:\n"
34
34
+
+ " --tap-to-click enable tap-to-click feature for pointer devices\n"
35
35
+
+ " --tap-and-drag enable tap-and-drag feature for pointer devices\n"
36
36
+
+ " --drag-lock enable drag-lock feature for pointer devices\n"
37
37
+
+ " --natural-scrolling enable natural scrolling for ...\n"
38
38
+
+ " none => No pointer device\n"
39
39
+
+ " touchpad => Only for touchpad\n"
40
40
+
+ " mouse => Only for mouse\n"
41
41
+
+ " all => All pointer device\n"
42
42
+
+ "\n"
43
43
+
"Keyboard shortcuts:\n"
44
44
+
" Super + F toggle fullscreen\n"
45
45
+
" Super + N toggle nearest neighbour filtering\n"
46
46
+
@@ -305,6 +321,11 @@ float g_flMaxWindowScale = FLT_MAX;
47
47
+
uint32_t g_preferVendorID = 0;
48
48
+
uint32_t g_preferDeviceID = 0;
49
49
+
50
50
+
+bool g_tapToClick = false;
51
51
+
+bool g_tapAndDrag = false;
52
52
+
+bool g_dragLock = false;
53
53
+
+SelectedPointerType g_naturalScrolling = SelectedPointerType::NONE;
54
54
+
+
55
55
+
pthread_t g_mainThread;
56
56
+
57
57
+
static void steamCompMgrThreadRun(int argc, char **argv);
58
58
+
@@ -438,6 +459,20 @@ static gamescope::ConCommand cc_shutdown( "shutdown", "Cleanly shutdown gamescop
59
59
+
console_log.infof( "Shutting down..." );
60
60
+
ShutdownGamescope();
61
61
+
});
62
62
+
+static SelectedPointerType parse_selected_pointer_type(const char* str)
63
63
+
+{
64
64
+
+ if (!str || !*str)
65
65
+
+ return SelectedPointerType::NONE;
66
66
+
+
67
67
+
+ if (!strcmp(str, "all"))
68
68
+
+ return SelectedPointerType::ALL;
69
69
+
+ else if (!strcmp(str, "touchpad"))
70
70
+
+ return SelectedPointerType::TOUCHPAD;
71
71
+
+ else if (!strcmp(str, "mouse"))
72
72
+
+ return SelectedPointerType::MOUSE;
73
73
+
+ else
74
74
+
+ return SelectedPointerType::NONE;
75
75
+
+}
76
76
+
77
77
+
static void handle_signal( int sig )
78
78
+
{
79
79
+
@@ -754,6 +789,14 @@ int main(int argc, char **argv)
80
80
+
g_nCursorScaleHeight = atoi(optarg);
81
81
+
} else if (strcmp(opt_name, "mangoapp") == 0) {
82
82
+
g_bLaunchMangoapp = true;
83
83
+
+ } else if (strcmp(opt_name, "tap-to-click") == 0) {
84
84
+
+ g_tapToClick = true;
85
85
+
+ } else if (strcmp(opt_name, "tap-and-drag") == 0) {
86
86
+
+ g_tapAndDrag = true;
87
87
+
+ } else if (strcmp(opt_name, "drag-lock") == 0) {
88
88
+
+ g_dragLock = true;
89
89
+
+ } else if (strcmp(opt_name, "natural-scrolling") == 0) {
90
90
+
+ g_naturalScrolling = parse_selected_pointer_type( optarg );
91
91
+
}
92
92
+
break;
93
93
+
case '?':
94
94
+
diff --git a/src/main.hpp b/src/main.hpp
95
95
+
index 8cfe62915f..c8948f7bdc 100644
96
96
+
--- a/src/main.hpp
97
97
+
+++ b/src/main.hpp
98
98
+
@@ -66,3 +66,15 @@ extern int g_nXWaylandCount;
99
99
+
extern uint32_t g_preferVendorID;
100
100
+
extern uint32_t g_preferDeviceID;
101
101
+
102
102
+
+enum class SelectedPointerType : uint32_t
103
103
+
+{
104
104
+
+ NONE,
105
105
+
+ TOUCHPAD,
106
106
+
+ MOUSE,
107
107
+
+ ALL,
108
108
+
+};
109
109
+
+
110
110
+
+extern bool g_tapToClick;
111
111
+
+extern bool g_tapAndDrag;
112
112
+
+extern bool g_dragLock;
113
113
+
+extern SelectedPointerType g_naturalScrolling;
114
114
+
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
115
115
+
index ee6891d103..95b250ec4a 100644
116
116
+
--- a/src/wlserver.cpp
117
117
+
+++ b/src/wlserver.cpp
118
118
+
@@ -484,6 +484,48 @@ static void wlserver_handle_touch_motion(struct wl_listener *listener, void *dat
119
119
+
wlserver_touchmotion( event->x, event->y, event->touch_id, event->time_msec );
120
120
+
}
121
121
+
122
122
+
+static void wlserver_set_libinput_pointer(struct wlr_input_device *device)
123
123
+
+{
124
124
+
+#ifdef WLR_BACKEND_LIBINPUT_H
125
125
+
+ if (device->type != WLR_INPUT_DEVICE_POINTER || !wlr_input_device_is_libinput(device))
126
126
+
+ return;
127
127
+
+
128
128
+
+ struct libinput_device* libinput_device = wlr_libinput_get_device_handle(device);
129
129
+
+
130
130
+
+ if (g_tapToClick)
131
131
+
+ libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED);
132
132
+
+ else
133
133
+
+ libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_DISABLED);
134
134
+
+
135
135
+
+ if (g_tapAndDrag)
136
136
+
+ libinput_device_config_tap_set_drag_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_ENABLED);
137
137
+
+ else
138
138
+
+ libinput_device_config_tap_set_drag_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_DISABLED);
139
139
+
+
140
140
+
+ if (g_dragLock)
141
141
+
+ libinput_device_config_tap_set_drag_lock_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_LOCK_ENABLED);
142
142
+
+ else
143
143
+
+ libinput_device_config_tap_set_drag_lock_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_LOCK_DISABLED);
144
144
+
+
145
145
+
+ if (libinput_device_config_scroll_has_natural_scroll(libinput_device) != 0)
146
146
+
+ switch (g_naturalScrolling)
147
147
+
+ {
148
148
+
+ case SelectedPointerType::TOUCHPAD:
149
149
+
+ if (libinput_device_config_tap_get_finger_count(libinput_device) != 0)
150
150
+
+ libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, true);
151
151
+
+ break;
152
152
+
+ case SelectedPointerType::MOUSE:
153
153
+
+ if (libinput_device_config_tap_get_finger_count(libinput_device) == 0)
154
154
+
+ libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, true);
155
155
+
+ break;
156
156
+
+ case SelectedPointerType::ALL:
157
157
+
+ libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, true);
158
158
+
+ case SelectedPointerType::NONE:
159
159
+
+ break;
160
160
+
+ }
161
161
+
+#endif
162
162
+
+}
163
163
+
+
164
164
+
static void wlserver_new_input(struct wl_listener *listener, void *data)
165
165
+
{
166
166
+
struct wlr_input_device *device = (struct wlr_input_device *) data;
167
167
+
@@ -534,6 +576,8 @@ static void wlserver_new_input(struct wl_listener *listener, void *data)
168
168
+
wl_signal_add( &pointer->wlr->events.axis, &pointer->axis);
169
169
+
pointer->frame.notify = wlserver_handle_pointer_frame;
170
170
+
wl_signal_add( &pointer->wlr->events.frame, &pointer->frame);
171
171
+
+
172
172
+
+ wlserver_set_libinput_pointer(device);
173
173
+
}
174
174
+
break;
175
175
+
case WLR_INPUT_DEVICE_TOUCH:
176
176
+
177
177
+
From 8f3bd1747ec3f72e8f5598e4de6a962ec44eecf4 Mon Sep 17 00:00:00 2001
178
178
+
From: Chenx Dust <chenx_dust@outlook.com>
179
179
+
Date: Fri, 5 Jul 2024 14:30:07 +0000
180
180
+
Subject: [PATCH 2/3] feat: Add more options for libinput pointer device
181
181
+
182
182
+
---
183
183
+
src/main.cpp | 53 +++++++++++++++++++++++++---
184
184
+
src/main.hpp | 14 ++++++++
185
185
+
src/wlserver.cpp | 90 ++++++++++++++++++++++++++++++++++++++++++------
186
186
+
3 files changed, 142 insertions(+), 15 deletions(-)
187
187
+
188
188
+
diff --git a/src/main.cpp b/src/main.cpp
189
189
+
index 37dfb8ebcb..5eda5e8133 100644
190
190
+
--- a/src/main.cpp
191
191
+
+++ b/src/main.cpp
192
192
+
@@ -145,11 +145,17 @@ const struct option *gamescope_options = (struct option[]){
193
193
+
// Steam Deck options
194
194
+
{ "mura-map", required_argument, nullptr, 0 },
195
195
+
196
196
+
- // Pointer options
197
197
+
+ // Libinput options
198
198
+
{ "tap-to-click", no_argument, nullptr, 0 },
199
199
+
{ "tap-to-drag", no_argument, nullptr, 0 },
200
200
+
{ "drag-lock", no_argument, nullptr, 0 },
201
201
+
+ { "middle-emulation", no_argument, nullptr, 0 },
202
202
+
+ { "disable-while-typing", no_argument, nullptr, 0 },
203
203
+
+ { "disable-while-trackpointing", no_argument, nullptr, 0 },
204
204
+
+ { "left-handed", no_argument, nullptr, 0 },
205
205
+
{ "natural-scrolling", required_argument, nullptr, 0 },
206
206
+
+ { "pointer-accel-profile", required_argument, nullptr, 0 },
207
207
+
+ { "pointer-accel-speed", required_argument, nullptr, 0 },
208
208
+
209
209
+
{} // keep last
210
210
+
};
211
211
+
@@ -266,11 +272,19 @@ const char usage[] =
212
212
+
" --tap-to-click enable tap-to-click feature for pointer devices\n"
213
213
+
" --tap-and-drag enable tap-and-drag feature for pointer devices\n"
214
214
+
" --drag-lock enable drag-lock feature for pointer devices\n"
215
215
+
+ " --middle-emulation enable middle button emulation for pointer devices\n"
216
216
+
+ " --left-handed enable left handed mode for pointer devices\n"
217
217
+
+ " --disable-while-typing disable pointer devices while typing\n"
218
218
+
+ " --disable-while-trackpointing disable pointer devices while trackpointing\n"
219
219
+
" --natural-scrolling enable natural scrolling for ...\n"
220
220
+
- " none => No pointer device\n"
221
221
+
- " touchpad => Only for touchpad\n"
222
222
+
- " mouse => Only for mouse\n"
223
223
+
+ " none => No pointer device (default)\n"
224
224
+
+ " touchpad => Only touchpad\n"
225
225
+
+ " mouse => Only mouse\n"
226
226
+
" all => All pointer device\n"
227
227
+
+ " --pointer-accel-profile set acceleration profile for pointer devices to ...\n"
228
228
+
+ " adaptive => takes the current speed of the device into account when deciding on acceleration (default)\n"
229
229
+
+ " flat => simply a constant factor applied to all device deltas, regardless of the speed of motion\n"
230
230
+
+ " --pointer-accel-speed set acceleration speed for pointer devices within [-1, 1] (default 0)\n"
231
231
+
"\n"
232
232
+
"Keyboard shortcuts:\n"
233
233
+
" Super + F toggle fullscreen\n"
234
234
+
@@ -324,7 +338,13 @@ uint32_t g_preferDeviceID = 0;
235
235
+
bool g_tapToClick = false;
236
236
+
bool g_tapAndDrag = false;
237
237
+
bool g_dragLock = false;
238
238
+
+bool g_middleEmu = false;
239
239
+
+bool g_leftHanded = false;
240
240
+
+bool g_dwt = false;
241
241
+
+bool g_dwtp = false;
242
242
+
SelectedPointerType g_naturalScrolling = SelectedPointerType::NONE;
243
243
+
+PointerAccelProfileType g_accelProfile = PointerAccelProfileType::ADAPTIVE;
244
244
+
+double g_accelSpeed = false;
245
245
+
246
246
+
pthread_t g_mainThread;
247
247
+
248
248
+
@@ -474,6 +494,19 @@ static SelectedPointerType parse_selected_pointer_type(const char* str)
249
249
+
return SelectedPointerType::NONE;
250
250
+
}
251
251
+
252
252
+
+static PointerAccelProfileType parse_pointer_accel_profile(const char* str)
253
253
+
+{
254
254
+
+ if (!str || !*str)
255
255
+
+ return PointerAccelProfileType::ADAPTIVE;
256
256
+
+
257
257
+
+ if (!strcmp(str, "adaptive"))
258
258
+
+ return PointerAccelProfileType::ADAPTIVE;
259
259
+
+ else if (!strcmp(str, "flat"))
260
260
+
+ return PointerAccelProfileType::FLAT;
261
261
+
+ else
262
262
+
+ return PointerAccelProfileType::ADAPTIVE;
263
263
+
+}
264
264
+
+
265
265
+
static void handle_signal( int sig )
266
266
+
{
267
267
+
switch ( sig ) {
268
268
+
@@ -795,8 +828,20 @@ int main(int argc, char **argv)
269
269
+
g_tapAndDrag = true;
270
270
+
} else if (strcmp(opt_name, "drag-lock") == 0) {
271
271
+
g_dragLock = true;
272
272
+
+ } else if (strcmp(opt_name, "middle-emulation") == 0) {
273
273
+
+ g_middleEmu = true;
274
274
+
+ } else if (strcmp(opt_name, "left-handed") == 0) {
275
275
+
+ g_leftHanded = true;
276
276
+
+ } else if (strcmp(opt_name, "disable-while-typing") == 0) {
277
277
+
+ g_dwt = true;
278
278
+
+ } else if (strcmp(opt_name, "disable-while-trackpointing") == 0) {
279
279
+
+ g_dwtp = true;
280
280
+
} else if (strcmp(opt_name, "natural-scrolling") == 0) {
281
281
+
g_naturalScrolling = parse_selected_pointer_type( optarg );
282
282
+
+ } else if (strcmp(opt_name, "pointer-accel-profile") == 0) {
283
283
+
+ g_accelProfile = parse_pointer_accel_profile( optarg );
284
284
+
+ } else if (strcmp(opt_name, "pointer-accel-speed") == 0) {
285
285
+
+ g_accelSpeed = atof( optarg );
286
286
+
}
287
287
+
break;
288
288
+
case '?':
289
289
+
diff --git a/src/main.hpp b/src/main.hpp
290
290
+
index c8948f7bdc..58eed11701 100644
291
291
+
--- a/src/main.hpp
292
292
+
+++ b/src/main.hpp
293
293
+
@@ -74,7 +74,21 @@ enum class SelectedPointerType : uint32_t
294
294
+
ALL,
295
295
+
};
296
296
+
297
297
+
+enum class PointerAccelProfileType : uint32_t
298
298
+
+{
299
299
+
+ NONE,
300
300
+
+ FLAT,
301
301
+
+ ADAPTIVE,
302
302
+
+ CUSTOM,
303
303
+
+};
304
304
+
+
305
305
+
extern bool g_tapToClick;
306
306
+
extern bool g_tapAndDrag;
307
307
+
extern bool g_dragLock;
308
308
+
+extern bool g_middleEmu;
309
309
+
+extern bool g_leftHanded;
310
310
+
+extern bool g_dwt;
311
311
+
+extern bool g_dwtp;
312
312
+
extern SelectedPointerType g_naturalScrolling;
313
313
+
+extern PointerAccelProfileType g_accelProfile;
314
314
+
+extern double g_accelSpeed;
315
315
+
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
316
316
+
index 95b250ec4a..7d7778f6ee 100644
317
317
+
--- a/src/wlserver.cpp
318
318
+
+++ b/src/wlserver.cpp
319
319
+
@@ -486,28 +486,76 @@ static void wlserver_handle_touch_motion(struct wl_listener *listener, void *dat
320
320
+
321
321
+
static void wlserver_set_libinput_pointer(struct wlr_input_device *device)
322
322
+
{
323
323
+
-#ifdef WLR_BACKEND_LIBINPUT_H
324
324
+
+#ifdef HAVE_DRM
325
325
+
if (device->type != WLR_INPUT_DEVICE_POINTER || !wlr_input_device_is_libinput(device))
326
326
+
return;
327
327
+
328
328
+
struct libinput_device* libinput_device = wlr_libinput_get_device_handle(device);
329
329
+
330
330
+
- if (g_tapToClick)
331
331
+
+ if (g_tapToClick) {
332
332
+
libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED);
333
333
+
- else
334
334
+
+ } else {
335
335
+
libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_DISABLED);
336
336
+
-
337
337
+
- if (g_tapAndDrag)
338
338
+
+ }
339
339
+
+ if (g_tapAndDrag) {
340
340
+
libinput_device_config_tap_set_drag_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_ENABLED);
341
341
+
- else
342
342
+
+ } else {
343
343
+
libinput_device_config_tap_set_drag_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_DISABLED);
344
344
+
-
345
345
+
- if (g_dragLock)
346
346
+
+ }
347
347
+
+ if (g_dragLock) {
348
348
+
libinput_device_config_tap_set_drag_lock_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_LOCK_ENABLED);
349
349
+
- else
350
350
+
+ } else {
351
351
+
libinput_device_config_tap_set_drag_lock_enabled(libinput_device, LIBINPUT_CONFIG_DRAG_LOCK_DISABLED);
352
352
+
-
353
353
+
- if (libinput_device_config_scroll_has_natural_scroll(libinput_device) != 0)
354
354
+
+ }
355
355
+
+ if (libinput_device_config_middle_emulation_is_available(libinput_device)) {
356
356
+
+ if (g_middleEmu) {
357
357
+
+ libinput_device_config_middle_emulation_set_enabled(libinput_device, LIBINPUT_CONFIG_MIDDLE_EMULATION_ENABLED);
358
358
+
+ } else {
359
359
+
+ libinput_device_config_middle_emulation_set_enabled(libinput_device, LIBINPUT_CONFIG_MIDDLE_EMULATION_DISABLED);
360
360
+
+ }
361
361
+
+ } else {
362
362
+
+ if (device->name) {
363
363
+
+ printf("Libinput pointer \"%s\": Middle button emulation not supported", device->name);
364
364
+
+ } else {
365
365
+
+ printf("Unnamed libinput pointer: Middle button emulation not supported");
366
366
+
+ }
367
367
+
+ }
368
368
+
+ if (libinput_device_config_left_handed_is_available(libinput_device)) {
369
369
+
+ libinput_device_config_left_handed_set(libinput_device, g_leftHanded);
370
370
+
+ } else {
371
371
+
+ if (device->name) {
372
372
+
+ printf("Libinput pointer \"%s\": Left handed mode not supported", device->name);
373
373
+
+ } else {
374
374
+
+ printf("Unnamed libinput pointer: Left handed mode not supported");
375
375
+
+ }
376
376
+
+ }
377
377
+
+ if (libinput_device_config_dwt_is_available(libinput_device)) {
378
378
+
+ if (g_dwt) {
379
379
+
+ libinput_device_config_dwt_set_enabled(libinput_device, LIBINPUT_CONFIG_DWT_ENABLED);
380
380
+
+ } else {
381
381
+
+ libinput_device_config_dwt_set_enabled(libinput_device, LIBINPUT_CONFIG_DWT_DISABLED);
382
382
+
+ }
383
383
+
+ } else {
384
384
+
+ if (device->name) {
385
385
+
+ printf("Libinput pointer \"%s\": Disable while typing not supported", device->name);
386
386
+
+ } else {
387
387
+
+ printf("Unnamed libinput pointer: Disable while typing not supported");
388
388
+
+ }
389
389
+
+ }
390
390
+
+ if (libinput_device_config_dwtp_is_available(libinput_device)) {
391
391
+
+ if (g_dwtp) {
392
392
+
+ libinput_device_config_dwtp_set_enabled(libinput_device, LIBINPUT_CONFIG_DWTP_ENABLED);
393
393
+
+ } else {
394
394
+
+ libinput_device_config_dwtp_set_enabled(libinput_device, LIBINPUT_CONFIG_DWTP_DISABLED);
395
395
+
+ }
396
396
+
+ } else {
397
397
+
+ if (device->name) {
398
398
+
+ printf("Libinput pointer \"%s\": Disable while track pointing not supported", device->name);
399
399
+
+ } else {
400
400
+
+ printf("Unnamed libinput pointer: Disable while track pointing not supported");
401
401
+
+ }
402
402
+
+ }
403
403
+
+ if (libinput_device_config_scroll_has_natural_scroll(libinput_device) != 0) {
404
404
+
switch (g_naturalScrolling)
405
405
+
{
406
406
+
case SelectedPointerType::TOUCHPAD:
407
407
+
@@ -520,9 +568,29 @@ static void wlserver_set_libinput_pointer(struct wlr_input_device *device)
408
408
+
break;
409
409
+
case SelectedPointerType::ALL:
410
410
+
libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, true);
411
411
+
+ break;
412
412
+
case SelectedPointerType::NONE:
413
413
+
break;
414
414
+
}
415
415
+
+ }
416
416
+
+ if (libinput_device_config_accel_is_available(libinput_device)) {
417
417
+
+ switch (g_accelProfile) {
418
418
+
+ case PointerAccelProfileType::FLAT:
419
419
+
+ libinput_device_config_accel_set_profile(libinput_device, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT);
420
420
+
+ break;
421
421
+
+ case PointerAccelProfileType::ADAPTIVE:
422
422
+
+ default:
423
423
+
+ libinput_device_config_accel_set_profile(libinput_device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE);
424
424
+
+ break;
425
425
+
+ }
426
426
+
+ libinput_device_config_accel_set_speed(libinput_device, g_accelSpeed);
427
427
+
+ } else {
428
428
+
+ if (device->name) {
429
429
+
+ printf("Libinput pointer \"%s\": Accelation not supported", device->name);
430
430
+
+ } else {
431
431
+
+ printf("Unnamed libinput pointer: Accelation not supported");
432
432
+
+ }
433
433
+
+ }
434
434
+
#endif
435
435
+
}
436
436
+
437
437
+
438
438
+
From f69e6bcb2d1c49911f9e9aaf1a6f8e0f182eb29c Mon Sep 17 00:00:00 2001
439
439
+
From: Chenx Dust <chenx_dust@outlook.com>
440
440
+
Date: Thu, 17 Oct 2024 04:41:02 +0000
441
441
+
Subject: [PATCH 3/3] fix: Fix typo of "tap and drag" option in `main.cpp`
442
442
+
443
443
+
---
444
444
+
src/main.cpp | 2 +-
445
445
+
1 file changed, 1 insertion(+), 1 deletion(-)
446
446
+
447
447
+
diff --git a/src/main.cpp b/src/main.cpp
448
448
+
index 5eda5e8133..05f8d26517 100644
449
449
+
--- a/src/main.cpp
450
450
+
+++ b/src/main.cpp
451
451
+
@@ -147,7 +147,7 @@ const struct option *gamescope_options = (struct option[]){
452
452
+
453
453
+
// Libinput options
454
454
+
{ "tap-to-click", no_argument, nullptr, 0 },
455
455
+
- { "tap-to-drag", no_argument, nullptr, 0 },
456
456
+
+ { "tap-and-drag", no_argument, nullptr, 0 },
457
457
+
{ "drag-lock", no_argument, nullptr, 0 },
458
458
+
{ "middle-emulation", no_argument, nullptr, 0 },
459
459
+
{ "disable-while-typing", no_argument, nullptr, 0 },
-5
2configs/services/flix/default.nix
View file
Reviewed
···
383
383
openFirewall = true;
384
384
};
385
385
386
386
-
services.flaresolverr = {
387
387
-
enable = true;
388
388
-
openFirewall = true;
389
389
-
};
390
390
-
391
386
# subtitles
392
387
services.bazarr = {
393
388
enable = true;