opt: disable gesture when disable_trackpad

This commit is contained in:
DreamMaoMao 2026-07-04 18:01:55 +08:00
parent 78135af753
commit 96d1d3805a

View file

@ -2234,6 +2234,10 @@ int32_t ongesture(struct wlr_pointer_swipe_end_event *event) {
void swipe_begin(struct wl_listener *listener, void *data) { void swipe_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_begin_event *event = data; struct wlr_pointer_swipe_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward swipe begin event to client // Forward swipe begin event to client
wlr_pointer_gestures_v1_send_swipe_begin(pointer_gestures, seat, wlr_pointer_gestures_v1_send_swipe_begin(pointer_gestures, seat,
event->time_msec, event->fingers); event->time_msec, event->fingers);
@ -2242,6 +2246,10 @@ void swipe_begin(struct wl_listener *listener, void *data) {
void swipe_update(struct wl_listener *listener, void *data) { void swipe_update(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_update_event *event = data; struct wlr_pointer_swipe_update_event *event = data;
if (config.disable_trackpad) {
return;
}
swipe_fingers = event->fingers; swipe_fingers = event->fingers;
// Accumulate swipe distance // Accumulate swipe distance
swipe_dx += event->dx; swipe_dx += event->dx;
@ -2254,6 +2262,11 @@ void swipe_update(struct wl_listener *listener, void *data) {
void swipe_end(struct wl_listener *listener, void *data) { void swipe_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_swipe_end_event *event = data; struct wlr_pointer_swipe_end_event *event = data;
if (config.disable_trackpad) {
return;
}
ongesture(event); ongesture(event);
swipe_dx = 0; swipe_dx = 0;
swipe_dy = 0; swipe_dy = 0;
@ -2265,6 +2278,10 @@ void swipe_end(struct wl_listener *listener, void *data) {
void pinch_begin(struct wl_listener *listener, void *data) { void pinch_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_begin_event *event = data; struct wlr_pointer_pinch_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch begin event to client // Forward pinch begin event to client
wlr_pointer_gestures_v1_send_pinch_begin(pointer_gestures, seat, wlr_pointer_gestures_v1_send_pinch_begin(pointer_gestures, seat,
event->time_msec, event->fingers); event->time_msec, event->fingers);
@ -2273,6 +2290,10 @@ void pinch_begin(struct wl_listener *listener, void *data) {
void pinch_update(struct wl_listener *listener, void *data) { void pinch_update(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_update_event *event = data; struct wlr_pointer_pinch_update_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch update event to client // Forward pinch update event to client
wlr_pointer_gestures_v1_send_pinch_update( wlr_pointer_gestures_v1_send_pinch_update(
pointer_gestures, seat, event->time_msec, event->dx, event->dy, pointer_gestures, seat, event->time_msec, event->dx, event->dy,
@ -2282,6 +2303,10 @@ void pinch_update(struct wl_listener *listener, void *data) {
void pinch_end(struct wl_listener *listener, void *data) { void pinch_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_pinch_end_event *event = data; struct wlr_pointer_pinch_end_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward pinch end event to client // Forward pinch end event to client
wlr_pointer_gestures_v1_send_pinch_end(pointer_gestures, seat, wlr_pointer_gestures_v1_send_pinch_end(pointer_gestures, seat,
event->time_msec, event->cancelled); event->time_msec, event->cancelled);
@ -2290,6 +2315,10 @@ void pinch_end(struct wl_listener *listener, void *data) {
void hold_begin(struct wl_listener *listener, void *data) { void hold_begin(struct wl_listener *listener, void *data) {
struct wlr_pointer_hold_begin_event *event = data; struct wlr_pointer_hold_begin_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward hold begin event to client // Forward hold begin event to client
wlr_pointer_gestures_v1_send_hold_begin(pointer_gestures, seat, wlr_pointer_gestures_v1_send_hold_begin(pointer_gestures, seat,
event->time_msec, event->fingers); event->time_msec, event->fingers);
@ -2298,6 +2327,10 @@ void hold_begin(struct wl_listener *listener, void *data) {
void hold_end(struct wl_listener *listener, void *data) { void hold_end(struct wl_listener *listener, void *data) {
struct wlr_pointer_hold_end_event *event = data; struct wlr_pointer_hold_end_event *event = data;
if (config.disable_trackpad) {
return;
}
// Forward hold end event to client // Forward hold end event to client
wlr_pointer_gestures_v1_send_hold_end(pointer_gestures, seat, wlr_pointer_gestures_v1_send_hold_end(pointer_gestures, seat,
event->time_msec, event->cancelled); event->time_msec, event->cancelled);