summaryrefslogtreecommitdiffstats
path: root/window.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-12-08 00:01:36 -0500
committerKristian Høgsberg <krh@redhat.com>2008-12-08 00:01:36 -0500
commit6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1 (patch)
treea96b5f35609c900293e2a305d0ef84913a495c55 /window.c
parent269d6e3daf70e13c2e774c64decb7c33a1420b47 (diff)
downloadwayland-6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1.tar.gz
wayland-6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1.tar.xz
wayland-6e83d58153c0bd6efd268dc5d76ee0f87fd3afb1.zip
Add keyboard input to terminal.
Diffstat (limited to 'window.c')
-rw-r--r--window.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/window.c b/window.c
index 4f4b704..4f94c50 100644
--- a/window.c
+++ b/window.c
@@ -55,6 +55,7 @@ struct window {
window_resize_handler_t resize_handler;
window_frame_handler_t frame_handler;
window_acknowledge_handler_t acknowledge_handler;
+ window_key_handler_t key_handler;
void *user_data;
};
@@ -293,6 +294,10 @@ event_handler(struct wl_display *display,
} else if (button == 0 && state == 0) {
window->state = WINDOW_STABLE;
}
+ } else if (opcode == 2) {
+ if (window->key_handler)
+ (*window->key_handler)(window, p[0], p[1],
+ window->user_data);
}
}
@@ -343,6 +348,14 @@ window_set_acknowledge_handler(struct window *window,
}
void
+window_set_key_handler(struct window *window,
+ window_key_handler_t handler, void *data)
+{
+ window->key_handler = handler;
+ window->user_data = data;
+}
+
+void
window_set_minimum_size(struct window *window, uint32_t width, int32_t height)
{
window->minimum_width = width;