opt: disable gesture when disable_trackpad

This commit is contained in:
DreamMaoMao 2026-07-04 18:01:55 +08:00
parent c5b04b5e86
commit 0bb66d730b

View file

@ -2225,6 +2225,10 @@ int32_t ongesture(struct wlr_pointer_swipe_end_event *event) {
void swipe_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward swipe begin event to client
wlr_pointer_gestures_v1_send_swipe_begin(pointer_gestures, seat,
event->time_msec, event->fingers);
@ -2233,6 +2237,10 @@ void swipe_begin(struct wl_listener *listener, void *data) {
void swipe_update(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_update_event *event = data;
if (config.disable_trackpad) {
return;
}
swipe_fingers = event->fingers;
// Accumulate swipe distance
swipe_dx += event->dx;
@ -2245,6 +2253,11 @@ void swipe_update(struct wl_listener *listener, void *data) {
void swipe_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_end_event *event = data;
if (config.disable_trackpad) {
return;
}
ongesture(event);
swipe_dx = 0;
swipe_dy = 0;
@ -2256,6 +2269,10 @@ void swipe_end(struct wl_listener *listener, void *data) {
void pinch_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch begin event to client
wlr_pointer_gestures_v1_send_pinch_begin(pointer_gestures, seat,
event->time_msec, event->fingers);
@ -2264,6 +2281,10 @@ void pinch_begin(struct wl_listener *listener, void *data) {
void pinch_update(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_update_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch update event to client
wlr_pointer_gestures_v1_send_pinch_update(
pointer_gestures, seat, event->time_msec, event->dx, event->dy,
@ -2273,6 +2294,10 @@ void pinch_update(struct wl_listener *listener, void *data) {
void pinch_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_end_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch end event to client
wlr_pointer_gestures_v1_send_pinch_end(pointer_gestures, seat,
event->time_msec, event->cancelled);
@ -2281,6 +2306,10 @@ void pinch_end(struct wl_listener *listener, void *data) {
void hold_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_hold_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward hold begin event to client
wlr_pointer_gestures_v1_send_hold_begin(pointer_gestures, seat,
event->time_msec, event->fingers);
@ -2289,6 +2318,10 @@ void hold_begin(struct wl_listener *listener, void *data) {
void hold_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_hold_end_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward hold end event to client
wlr_pointer_gestures_v1_send_hold_end(pointer_gestures, seat,
event->time_msec, event->cancelled);