aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/libinput/touch.c16
-rw-r--r--backend/wayland/seat.c23
-rw-r--r--backend/x11/input_device.c12
3 files changed, 27 insertions, 24 deletions
diff --git a/backend/libinput/touch.c b/backend/libinput/touch.c
index fba3d568..1475a03e 100644
--- a/backend/libinput/touch.c
+++ b/backend/libinput/touch.c
@@ -32,8 +32,8 @@ void handle_touch_down(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_down wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_down_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -46,8 +46,8 @@ void handle_touch_up(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_up wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_up_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -58,8 +58,8 @@ void handle_touch_motion(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_motion wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_motion_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -72,8 +72,8 @@ void handle_touch_cancel(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_cancel wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_cancel_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
diff --git a/backend/wayland/seat.c b/backend/wayland/seat.c
index 9659efc3..261da909 100644
--- a/backend/wayland/seat.c
+++ b/backend/wayland/seat.c
@@ -140,40 +140,43 @@ static void touch_handle_down(void *data, struct wl_touch *wl_touch,
uint32_t serial, uint32_t time, struct wl_surface *surface,
int32_t id, wl_fixed_t x, wl_fixed_t y) {
struct wlr_wl_seat *seat = data;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_down event = {
- .device = &seat->wlr_touch.base,
+ struct wlr_touch_down_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
touch_coordinates_to_absolute(seat, x, y, &event.x, &event.y);
- wlr_signal_emit_safe(&seat->wlr_touch.events.down, &event);
+ wlr_signal_emit_safe(&touch->events.down, &event);
}
static void touch_handle_up(void *data, struct wl_touch *wl_touch,
uint32_t serial, uint32_t time, int32_t id) {
struct wlr_wl_seat *seat = data;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_up event = {
- .device = &seat->wlr_touch.base,
+ struct wlr_touch_up_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
- wlr_signal_emit_safe(&seat->wlr_touch.events.up, &event);
+ wlr_signal_emit_safe(&touch->events.up, &event);
}
static void touch_handle_motion(void *data, struct wl_touch *wl_touch,
uint32_t time, int32_t id, wl_fixed_t x, wl_fixed_t y) {
struct wlr_wl_seat *seat = data;
- struct wlr_input_device *device = &seat->wlr_touch.base;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_motion event = {
- .device = device,
+ struct wlr_touch_motion_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
+
touch_coordinates_to_absolute(seat, x, y, &event.x, &event.y);
- wlr_signal_emit_safe(&seat->wlr_touch.events.motion, &event);
+ wlr_signal_emit_safe(&touch->events.motion, &event);
}
static void touch_handle_frame(void *data, struct wl_touch *wl_touch) {
diff --git a/backend/x11/input_device.c b/backend/x11/input_device.c
index dac867f9..d1f5c2c1 100644
--- a/backend/x11/input_device.c
+++ b/backend/x11/input_device.c
@@ -70,8 +70,8 @@ static void send_pointer_position_event(struct wlr_x11_output *output,
static void send_touch_down_event(struct wlr_x11_output *output,
int16_t x, int16_t y, int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_down ev = {
- .device = &output->touch.base,
+ struct wlr_touch_down_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.x = (double)x / output->wlr_output.width,
.y = (double)y / output->wlr_output.height,
@@ -83,8 +83,8 @@ static void send_touch_down_event(struct wlr_x11_output *output,
static void send_touch_motion_event(struct wlr_x11_output *output,
int16_t x, int16_t y, int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_motion ev = {
- .device = &output->touch.base,
+ struct wlr_touch_motion_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.x = (double)x / output->wlr_output.width,
.y = (double)y / output->wlr_output.height,
@@ -96,8 +96,8 @@ static void send_touch_motion_event(struct wlr_x11_output *output,
static void send_touch_up_event(struct wlr_x11_output *output,
int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_up ev = {
- .device = &output->touch.base,
+ struct wlr_touch_up_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.touch_id = touch_id,
};