mirror of
https://github.com/cage-kiosk/cage.git
synced 2026-03-06 01:41:03 -05:00
fix: round to integer
This commit is contained in:
parent
6f9b1ea9ef
commit
aabb567b49
1 changed files with 14 additions and 5 deletions
19
seat.c
19
seat.c
|
|
@ -610,8 +610,17 @@ static void
|
||||||
handle_cursor_axis(struct wl_listener *listener, void *data)
|
handle_cursor_axis(struct wl_listener *listener, void *data)
|
||||||
{
|
{
|
||||||
struct wlr_pointer_axis_event *event = data;
|
struct wlr_pointer_axis_event *event = data;
|
||||||
|
int delta;
|
||||||
|
|
||||||
|
if (event->delta_discrete > 0 || event->delta > 0)
|
||||||
|
delta = -1;
|
||||||
|
else if (event->delta_discrete < 0 || event->delta < 0)
|
||||||
|
delta = 1;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
|
||||||
printf("/dev/input/wl_pointer_axis: EV_REL %s %d\n",
|
printf("/dev/input/wl_pointer_axis: EV_REL %s %d\n",
|
||||||
(event->orientation == WLR_AXIS_ORIENTATION_VERTICAL) ? "REL_WHEEL" : "REL_HWHEEL", -event->delta_discrete / abs(event->delta_discrete));
|
(event->orientation == WLR_AXIS_ORIENTATION_VERTICAL) ? "REL_WHEEL" : "REL_HWHEEL", delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -663,16 +672,16 @@ handle_cursor_motion_absolute(struct wl_listener *listener, void *data)
|
||||||
double lx, ly;
|
double lx, ly;
|
||||||
wlr_cursor_absolute_to_layout_coords(seat->cursor, &event->pointer->base, event->x, event->y, &lx, &ly);
|
wlr_cursor_absolute_to_layout_coords(seat->cursor, &event->pointer->base, event->x, event->y, &lx, &ly);
|
||||||
|
|
||||||
printf("/dev/input/wl_pointer_motion: EV_ABS ABS_X %f\n", lx);
|
printf("/dev/input/wl_pointer_motion: EV_ABS ABS_X %d\n", (int)roundf(lx));
|
||||||
printf("/dev/input/wl_pointer_motion: EV_ABS ABS_Y %f\n", ly);
|
printf("/dev/input/wl_pointer_motion: EV_ABS ABS_Y %d\n", (int)roundf(ly));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
handle_cursor_motion_relative(struct wl_listener *listener, void *data)
|
handle_cursor_motion_relative(struct wl_listener *listener, void *data)
|
||||||
{
|
{
|
||||||
struct wlr_pointer_motion_event *event = data;
|
struct wlr_pointer_motion_event *event = data;
|
||||||
printf("/dev/input/wl_pointer_relative: EV_REL REL_X %f\n", event->delta_x);
|
printf("/dev/input/wl_pointer_relative: EV_REL REL_X %d\n", (int)roundf(event->delta_x));
|
||||||
printf("/dev/input/wl_pointer_relative: EV_REL REL_Y %f\n", event->delta_y);
|
printf("/dev/input/wl_pointer_relative: EV_REL REL_Y %d\n", (int)roundf(event->delta_y));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue