diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2013-05-10 22:09:51 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2013-05-11 21:18:32 +0200 |
commit | 120ceac2e9494c47e806aa514de5e143606c79b8 (patch) | |
tree | 0d1dab95625a770dcb3db6c4edcb56f05b20ef9e | |
parent | ca3d65bbc78ce5df56c9166c2af0b25a85b78b75 (diff) |
vncdisplaykeymap: add broadway support
-rw-r--r-- | gtk/vncdisplaykeymap.c | 24 |
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" |