diff options
author | Antenore Gatta <antenore@simbiosi.org> | 2014-07-18 19:01:40 +0400 |
---|---|---|
committer | Antenore Gatta <antenore@simbiosi.org> | 2014-07-18 19:01:40 +0400 |
commit | 33e5bd779240bb622cebb0c00c17298620e63f69 (patch) | |
tree | cad9abef17e979a391db1dd349b78dd104de0147 /remmina-plugins/rdp | |
parent | 865a6b94316b85db84ddf3d212a2eaf4564c6cf2 (diff) |
gtk and x11 cleaning
Diffstat (limited to 'remmina-plugins/rdp')
-rw-r--r-- | remmina-plugins/rdp/rdp_event.c | 4 | ||||
-rw-r--r-- | remmina-plugins/rdp/rdp_plugin.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/remmina-plugins/rdp/rdp_event.c b/remmina-plugins/rdp/rdp_event.c index 5b536d220..254496de0 100644 --- a/remmina-plugins/rdp/rdp_event.c +++ b/remmina-plugins/rdp/rdp_event.c @@ -27,6 +27,7 @@ #include <gdk/gdkkeysyms.h> #include <cairo/cairo-xlib.h> #include <freerdp/locale/keyboard.h> +#include <X11/XKBlib.h> static void remmina_rdp_event_on_focus_in(GtkWidget* widget, GdkEventKey* event, RemminaProtocolWidget* gp) { @@ -468,7 +469,8 @@ static gboolean remmina_rdp_event_on_key(GtkWidget* widget, GdkEventKey* event, { //TODO: Port to GDK functions display = gdk_display_get_default(); - cooked_keycode = XKeysymToKeycode(GDK_DISPLAY_XDISPLAY(display), XKeycodeToKeysym(GDK_DISPLAY_XDISPLAY(display), event->hardware_keycode, 0)); + //cooked_keycode = XKeysymToKeycode(GDK_DISPLAY_XDISPLAY(display), XKeycodeToKeysym(GDK_DISPLAY_XDISPLAY(display), event->hardware_keycode, 0)); + cooked_keycode = XKeysymToKeycode(GDK_DISPLAY_XDISPLAY(display), XkbKeycodeToKeysym(GDK_DISPLAY_XDISPLAY(display), event->hardware_keycode, 0, 0)); scancode = freerdp_keyboard_get_rdp_scancode_from_x11_keycode(cooked_keycode); rdp_event.key_event.key_code = scancode & 0xFF; rdp_event.key_event.extended = scancode & 0x100; diff --git a/remmina-plugins/rdp/rdp_plugin.c b/remmina-plugins/rdp/rdp_plugin.c index 96ce15eb9..77e7f61d6 100644 --- a/remmina-plugins/rdp/rdp_plugin.c +++ b/remmina-plugins/rdp/rdp_plugin.c @@ -240,6 +240,7 @@ static BOOL remmina_rdp_pre_connect(freerdp* instance) rfi->rfx_context = rfx_context_new(FALSE); } + freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); freerdp_channels_pre_connect(rfi->channels, instance); rfi->clrconv = freerdp_clrconv_new(CLRCONV_ALPHA); |