summaryrefslogtreecommitdiff
path: root/src/wayland/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wayland/internal.h')
-rw-r--r--src/wayland/internal.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/wayland/internal.h b/src/wayland/internal.h
index ad6531b..b687a61 100644
--- a/src/wayland/internal.h
+++ b/src/wayland/internal.h
@@ -5,6 +5,7 @@
#include "api.h"
#include "common/timing.h"
+#include "common/utf8.h"
#include "clipboard.h"
#include <wayland-client.h>
@@ -38,6 +39,7 @@
#include <unistd.h>
#include <xkbcommon/xkbcommon.h>
#include <xkbcommon/xkbcommon-keysyms.h>
+#include <xkbcommon/xkbcommon-compose.h>
#define NBUF 3
@@ -140,6 +142,8 @@ struct seat {
struct clipboard *clipboard;
struct xkb_keymap *xkb_keymap;
struct xkb_state *xkb_state;
+ struct xkb_compose_state *compose;
+ bool compose_attempted;
uint64_t repeat_started_ns;
struct wayland_surface *pointer_focus;
struct wayland_surface *keyboard_focus;
@@ -152,8 +156,10 @@ struct seat {
struct touch_point *touch_primary;
uint64_t pointer_buttons;
uint64_t tool_buttons;
- double axis_v, axis_h, frame_v;
- double touch_scroll_y, touch_scroll_rest;
+ double axis[2], axis_value120[2];
+ int64_t axis_discrete[2];
+ bool axis_has_value120[2], axis_has_discrete[2];
+ double touch_scroll_y;
/* Embedded structs */
xkb_mod_mask_t input_mod_masks[8];
@@ -174,18 +180,12 @@ struct seat {
uint32_t press_serial;
uint32_t pointer_serial;
int cursor_shape;
- int frame_v120;
- int axis_discrete_v, axis_discrete_h;
- int axis_value120_v, axis_value120_h;
struct yasl_pointer_pen pen;
int tool_wheel;
/* 1-byte booleans grouped tightly */
bool input_mods_ready;
bool repeat_held;
- bool axis_has_v120_v;
- bool axis_has_v120_h;
- bool axis_smooth;
bool motion_pending;
bool ptr_left_motion;
bool tool_motion;
@@ -325,8 +325,6 @@ struct wayland_surface {
bool want_draw;
};
-char *yasl_utf8_sanitize_dup(const char *str);
-bool yasl_utf8_validate(const char *str, size_t len);
int device_px(int logical, uint32_t scale_120);
bool buffer_size(int width, int height, size_t *bytes);
@@ -415,6 +413,7 @@ void seat_pointer_reset(struct seat *s);
extern const struct zwp_text_input_v3_listener text_input_listener;
void ime_reset(struct wayland_surface *w);
+void keyboard_text_reset(struct seat *s);
void ime_send_caret(struct wayland_surface *w);
int surface_init_shell(struct wayland_surface *w, const char *title);