1 #pragma once
2 
3 #include <stdint.h>
4 #include <wayland-client.h>
5 
6 #include "wayland.h"
7 
8 /*
9  * Custom defines for mouse wheel left/right buttons.
10  *
11  * Libinput does not define these. On Wayland, all scroll events (both
12  * vertical and horizontal) are reported not as buttons, as ‘axis’
13  * events.
14  *
15  * Libinput _does_ define BTN_BACK and BTN_FORWARD, which is
16  * what we use for vertical scroll events. But for horizontal scroll
17  * events, there aren’t any pre-defined mouse buttons.
18  *
19  * Mouse buttons are in the range 0x110 - 0x11f, with joystick defines
20  * starting at 0x120.
21  */
22 #define BTN_WHEEL_LEFT 0x11e
23 #define BTN_WHEEL_RIGHT 0x11f
24 
25 extern const struct wl_keyboard_listener keyboard_listener;
26 extern const struct wl_pointer_listener pointer_listener;
27 
28 void input_repeat(struct seat *seat, uint32_t key);
29 
30 const char *xcursor_for_csd_border(struct terminal *term, int x, int y);
31