Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-connections for 
openSUSE:Factory checked in at 2022-04-27 21:41:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-connections (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-connections.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-connections"

Wed Apr 27 21:41:39 2022 rev:8 rq:973131 version:42.1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-connections/gnome-connections.changes      
2022-04-11 23:50:46.194025643 +0200
+++ 
/work/SRC/openSUSE:Factory/.gnome-connections.new.1538/gnome-connections.changes
    2022-04-27 21:41:47.917046728 +0200
@@ -1,0 +2,6 @@
+Wed Apr 13 20:43:39 UTC 2022 - Emily Gonyer <emilyyr...@gmail.com>
+
+- Changes from 42.1.1: 
+  + Fix handling of non-char keyboard input. 
+
+-------------------------------------------------------------------

Old:
----
  gnome-connections-42.1.1.tar.xz

New:
----
  gnome-connections-42.1.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-connections.spec ++++++
--- /var/tmp/diff_new_pack.rLfN01/_old  2022-04-27 21:41:51.773051270 +0200
+++ /var/tmp/diff_new_pack.rLfN01/_new  2022-04-27 21:41:51.777051274 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gnome-connections
-Version:        42.1.1
+Version:        42.1.2
 Release:        0
 Summary:        A remote desktop client for GNOME
 License:        GPL-3.0-or-later

++++++ gnome-connections-42.1.1.tar.xz -> gnome-connections-42.1.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-connections-42.1.1/NEWS 
new/gnome-connections-42.1.2/NEWS
--- old/gnome-connections-42.1.1/NEWS   2022-04-07 14:05:12.000000000 +0200
+++ new/gnome-connections-42.1.2/NEWS   2022-04-13 10:37:18.000000000 +0200
@@ -1,3 +1,10 @@
+42.1.2 - 12 Apr, 2022
+=====================
+
+Changes since 42.1.1
+
+  - Fix handling of non-char keyboard input
+
 42.1.1 - 07 Apr, 2022
 =====================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-connections-42.1.1/meson.build 
new/gnome-connections-42.1.2/meson.build
--- old/gnome-connections-42.1.1/meson.build    2022-04-07 14:05:12.000000000 
+0200
+++ new/gnome-connections-42.1.2/meson.build    2022-04-13 10:37:18.000000000 
+0200
@@ -1,5 +1,5 @@
 project('gnome-connections', ['c', 'vala'],
-          version: '42.1.1',
+          version: '42.1.2',
     meson_version: '>= 0.50.0',
   default_options: [ 'warning_level=2',
                    ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-display.c 
new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-display.c
--- old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-display.c        
2022-04-07 12:43:38.000000000 +0200
+++ new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-display.c        
2022-04-11 09:38:31.000000000 +0200
@@ -61,22 +61,11 @@
 {
   FrdpDisplay *self = FRDP_DISPLAY (widget);
   FrdpDisplayPrivate *priv = frdp_display_get_instance_private (self);
-  guint16 keycode = key->hardware_keycode;
 
   if (!frdp_display_is_initialized (self))
     return TRUE;
 
-  switch (key->type) {
-    case GDK_KEY_PRESS:
-      frdp_session_send_key (priv->session, FRDP_KEY_EVENT_PRESS, keycode);
-      break;
-    case GDK_KEY_RELEASE:
-      frdp_session_send_key (priv->session, FRDP_KEY_EVENT_RELEASE, keycode);
-      break;
-    default:
-      g_warn_if_reached ();
-      break;
-  }
+  frdp_session_send_key (priv->session, key);
 
   return TRUE;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.c 
new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-session.c
--- old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.c        
2022-04-07 12:43:38.000000000 +0200
+++ new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-session.c        
2022-04-11 09:38:31.000000000 +0200
@@ -17,6 +17,8 @@
  */
 
 #include <errno.h>
+#include <freerdp/input.h>
+#include <freerdp/locale/keyboard.h>
 #include <freerdp/freerdp.h>
 #include <freerdp/gdi/gdi.h>
 #include <gdk/gdk.h>
@@ -511,6 +513,8 @@
   settings->DynamicResolutionUpdate = TRUE;
   settings->SupportDisplayControl = TRUE;
   settings->RedirectClipboard = FALSE;
+
+  settings->KeyboardLayout = freerdp_keyboard_init (0);
 }
 
 static void
@@ -875,43 +879,27 @@
   frdp_session_update_mouse_pointer (self);
 }
 
-static unsigned char keycode_scancodes[] = {
-   0,  0,  0,  0,  0,  0,  0, 28,
-  29, 53, 55, 56,  0, 71, 72, 73,
-  75, 77, 79, 80, 81, 82, 83,  0,
-   0,  0,  0,  0,  0,  0, 69,  0,
-   0,  0,  0,  0, 91, 92, 93,
-};
-
-static guint16
-frdp_session_get_scancode_by_keycode (guint16 keycode)
-{
-  if (keycode < 8)
-    return 0;
-  else if (keycode < 97)
-    return keycode - 8;
-  else if (keycode < 97 + sizeof (keycode_scancodes))
-    return keycode_scancodes[keycode - 97];
-  else
-    return 0;
-}
-
 void
 frdp_session_send_key (FrdpSession  *self,
-                       FrdpKeyEvent  event,
-                       guint16       keycode)
+                       GdkEventKey  *key)
 {
   rdpInput *input = self->priv->freerdp_session->input;
-  guint16 flags = 0;
-  guint16 scancode =
-      frdp_session_get_scancode_by_keycode (keycode);
+  DWORD scancode = 0;
+  guint8 keycode;
+  guint16 flags;
+  gboolean extended = FALSE;
+
+  scancode =
+    freerdp_keyboard_get_rdp_scancode_from_x11_keycode (key->hardware_keycode);
+
+  keycode = scancode & 0xFF;
+  extended = scancode & 0x100;
 
-  if (event == FRDP_KEY_EVENT_PRESS)
-    flags |= KBD_FLAGS_DOWN;
-  else
-    flags |= KBD_FLAGS_RELEASE;
+  flags = extended ? KBD_FLAGS_EXTENDED : 0;
+  flags |= key->type == GDK_KEY_PRESS ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE;
 
-  input->KeyboardEvent (input, flags, scancode);
+  if (keycode)
+    input->KeyboardEvent (input, flags, keycode);
 }
 
 GdkPixbuf *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.h 
new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-session.h
--- old/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.h        
2022-04-07 12:43:38.000000000 +0200
+++ new/gnome-connections-42.1.2/subprojects/gtk-frdp/src/frdp-session.h        
2022-04-11 09:38:31.000000000 +0200
@@ -84,8 +84,7 @@
                                           gboolean              enter);
 
 void         frdp_session_send_key       (FrdpSession          *self,
-                                          FrdpKeyEvent          event,
-                                          guint16               keycode);
+                                          GdkEventKey          *key);
 
 GdkPixbuf   *frdp_session_get_pixbuf     (FrdpSession          *self);
 /*FreeRDP fatal error codes*/

Reply via email to