aboutsummaryrefslogtreecommitdiff
path: root/backend/libinput/pointer.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-01-27 10:22:06 -0500
committerGitHub <noreply@github.com>2019-01-27 10:22:06 -0500
commit018727b1fc41dcd739ab464c84581c44dd1497ca (patch)
tree31ae7fc75fdabcdc125bb1b3b29260503ea5b96a /backend/libinput/pointer.c
parent89eacf556a64512a4d6ba8241e91f1d287007ad2 (diff)
parentb45fc24b1893484c02420fbb33d7ebb69bbf1eae (diff)
Merge pull request #1503 from emersion/pointer-frame
pointer: add a frame event
Diffstat (limited to 'backend/libinput/pointer.c')
-rw-r--r--backend/libinput/pointer.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/backend/libinput/pointer.c b/backend/libinput/pointer.c
index b9cf1dfe..0df16a10 100644
--- a/backend/libinput/pointer.c
+++ b/backend/libinput/pointer.c
@@ -39,6 +39,7 @@ void handle_pointer_motion(struct libinput_event *event,
wlr_event.unaccel_dx = libinput_event_pointer_get_dx_unaccelerated(pevent);
wlr_event.unaccel_dy = libinput_event_pointer_get_dy_unaccelerated(pevent);
wlr_signal_emit_safe(&wlr_dev->pointer->events.motion, &wlr_event);
+ wlr_signal_emit_safe(&wlr_dev->pointer->events.frame, wlr_dev->pointer);
}
void handle_pointer_motion_abs(struct libinput_event *event,
@@ -58,6 +59,7 @@ void handle_pointer_motion_abs(struct libinput_event *event,
wlr_event.x = libinput_event_pointer_get_absolute_x_transformed(pevent, 1);
wlr_event.y = libinput_event_pointer_get_absolute_y_transformed(pevent, 1);
wlr_signal_emit_safe(&wlr_dev->pointer->events.motion_absolute, &wlr_event);
+ wlr_signal_emit_safe(&wlr_dev->pointer->events.frame, wlr_dev->pointer);
}
void handle_pointer_button(struct libinput_event *event,
@@ -84,6 +86,7 @@ void handle_pointer_button(struct libinput_event *event,
break;
}
wlr_signal_emit_safe(&wlr_dev->pointer->events.button, &wlr_event);
+ wlr_signal_emit_safe(&wlr_dev->pointer->events.frame, wlr_dev->pointer);
}
void handle_pointer_axis(struct libinput_event *event,
@@ -114,13 +117,13 @@ void handle_pointer_axis(struct libinput_event *event,
wlr_event.source = WLR_AXIS_SOURCE_WHEEL_TILT;
break;
}
- enum libinput_pointer_axis axies[] = {
+ const enum libinput_pointer_axis axes[] = {
LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL,
LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL,
};
- for (size_t i = 0; i < sizeof(axies) / sizeof(axies[0]); ++i) {
- if (libinput_event_pointer_has_axis(pevent, axies[i])) {
- switch (axies[i]) {
+ for (size_t i = 0; i < sizeof(axes) / sizeof(axes[0]); ++i) {
+ if (libinput_event_pointer_has_axis(pevent, axes[i])) {
+ switch (axes[i]) {
case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
wlr_event.orientation = WLR_AXIS_ORIENTATION_VERTICAL;
break;
@@ -129,10 +132,11 @@ void handle_pointer_axis(struct libinput_event *event,
break;
}
wlr_event.delta =
- libinput_event_pointer_get_axis_value(pevent, axies[i]);
+ libinput_event_pointer_get_axis_value(pevent, axes[i]);
wlr_event.delta_discrete =
- libinput_event_pointer_get_axis_value_discrete(pevent, axies[i]);
+ libinput_event_pointer_get_axis_value_discrete(pevent, axes[i]);
wlr_signal_emit_safe(&wlr_dev->pointer->events.axis, &wlr_event);
}
}
+ wlr_signal_emit_safe(&wlr_dev->pointer->events.frame, wlr_dev->pointer);
}