summaryrefslogtreecommitdiff
path: root/lib/renderers/wayland/wayland.h
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2014-11-02 06:48:53 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2014-11-02 06:48:53 +0200
commit0d5cdc2c962179bfbfb04ba1f87a4be7d6e44913 (patch)
tree1a80b3a33a04d4128d9866d6ff20a227c5f65e9f /lib/renderers/wayland/wayland.h
parentee3c41f162a9068505efdb5025c415b889cf414d (diff)
downloadbemenu-0d5cdc2c962179bfbfb04ba1f87a4be7d6e44913.tar.gz
bemenu-0d5cdc2c962179bfbfb04ba1f87a4be7d6e44913.tar.bz2
bemenu-0d5cdc2c962179bfbfb04ba1f87a4be7d6e44913.zip
Key repeats.
Diffstat (limited to 'lib/renderers/wayland/wayland.h')
-rw-r--r--lib/renderers/wayland/wayland.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/renderers/wayland/wayland.h b/lib/renderers/wayland/wayland.h
index a9c79b3..db837e9 100644
--- a/lib/renderers/wayland/wayland.h
+++ b/lib/renderers/wayland/wayland.h
@@ -44,6 +44,8 @@ struct xkb {
};
struct input {
+ int *repeat_fd;
+
struct wl_keyboard *keyboard;
struct xkb xkb;
@@ -51,6 +53,14 @@ struct input {
uint32_t code;
uint32_t modifiers;
+ xkb_keysym_t repeat_sym;
+ uint32_t repeat_key;
+
+ int32_t repeat_rate_sec;
+ int32_t repeat_rate_nsec;
+ int32_t repeat_delay_sec;
+ int32_t repeat_delay_nsec;
+
struct {
void (*key)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code);
} notify;
@@ -66,6 +76,7 @@ struct buffer {
struct window {
struct wl_surface *surface;
struct wl_shell_surface *shell_surface;
+ struct wl_callback *frame_cb;
struct xdg_surface *xdg_surface;
struct wl_shm *shm;
struct buffer buffers[2];
@@ -78,6 +89,11 @@ struct window {
};
struct wayland {
+ struct {
+ int32_t display;
+ int32_t repeat;
+ } fds;
+
struct wl_display *display;
struct wl_registry *registry;
struct wl_compositor *compositor;
@@ -90,6 +106,7 @@ struct wayland {
uint32_t formats;
};
+void bm_wl_repeat(struct wayland *wayland);
bool bm_wl_registry_register(struct wayland *wayland);
void bm_wl_registry_destroy(struct wayland *wayland);
void bm_wl_window_render(struct window *window, const struct bm_menu *menu, uint32_t lines);