summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2013-05-10 22:09:51 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2013-05-11 21:18:32 +0200
commit120ceac2e9494c47e806aa514de5e143606c79b8 (patch)
tree0d1dab95625a770dcb3db6c4edcb56f05b20ef9e
parentca3d65bbc78ce5df56c9166c2af0b25a85b78b75 (diff)
vncdisplaykeymap: add broadway support
-rw-r--r--gtk/vncdisplaykeymap.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gtk/vncdisplaykeymap.c b/gtk/vncdisplaykeymap.c
index b5241c1..8b01294 100644
--- a/gtk/vncdisplaykeymap.c
+++ b/gtk/vncdisplaykeymap.c
@@ -59,6 +59,10 @@ static struct {
static unsigned int ref_count_for_untranslated_keys = 0;
+#ifdef GDK_WINDOWING_BROADWAY
+#include <gdk/gdkbroadway.h>
+#endif
+
#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
#include <X11/XKBlib.h>
@@ -100,6 +104,17 @@ static unsigned int ref_count_for_untranslated_keys = 0;
#endif
#endif
+#ifdef GDK_WINDOWING_BROADWAY
+/* X11 keysyms */
+#include "vncdisplaykeymap_x112xtkbd.c"
+
+/* Gtk2 compat */
+#ifndef GDK_IS_BROADWAY_WINDOW
+#define GDK_IS_BROADWAY_WINDOW(win) (win == win)
+#endif
+
+#endif
+
#ifdef GDK_WINDOWING_X11
#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
@@ -210,6 +225,15 @@ const guint16 const *vnc_display_keymap_gdk2xtkbd_table(GdkWindow *window,
}
#endif
+#ifdef GDK_WINDOWING_BROADWAY
+ if (GDK_IS_BROADWAY_WINDOW(window)) {
+ g_warning("experimental: using broadway, x11 virtual keysym mapping - with very limited support. See also https://bugzilla.gnome.org/show_bug.cgi?id=700105");
+
+ *maplen = G_N_ELEMENTS(keymap_x112xtkbd);
+ return keymap_x112xtkbd;
+ }
+#endif
+
g_warning("Unsupported GDK Windowing platform.\n"
"Disabling extended keycode tables.\n"
"Please report to gtk-vnc-list@gnome.org\n"