GNOME Bugzilla – Bug 769025
Extended RDP scancodes are not handled properly
Last modified: 2016-07-28 14:18:21 UTC
Created attachment 331860 [details] [review] Proposed patch against git master Vinagre incorrectly handles extended RDP scancodes, which makes it impossible to use some keys (e.g. both Super keys, right Alt, right Control) in RDP sessions. When compiled against FreeRDP 1.0, the value stored in frdp_event->extended is ignored, while an extended event's flags should have the KDB_FLAGS_EXTENDED bit set. When compiled against FreeRDP 1.1, the value returned by freerdp_keyboard_get_rdp_scancode_from_x11_keycode() is incorrectly stored verbatim into frdp_event->code as it contains both an extended scancode indicator and the actual scancode. Attached is a patch against git master which fixes this issue.
Review of attachment 331860 [details] [review]: ::: plugins/rdp/vinagre-rdp-tab.c @@ +706,3 @@ VinagreRdpTabPrivate *priv = rdp_tab->priv; frdpEventKey *frdp_event; + UINT16 scancode; I guess that, as the code below is wrapped in an ifdef, this should be too.
Created attachment 332255 [details] [review] Proposed patch against git master
(In reply to David King from comment #1) > Review of attachment 331860 [details] [review] [review]: > > ::: plugins/rdp/vinagre-rdp-tab.c > @@ +706,3 @@ > VinagreRdpTabPrivate *priv = rdp_tab->priv; > frdpEventKey *frdp_event; > + UINT16 scancode; > > I guess that, as the code below is wrapped in an ifdef, this should be too. Indeed, fixed.
Review of attachment 332255 [details] [review]: Pushed to master as commit 69acae5330c848cb7bf4094ebce34ccad798c6ca.