Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wvkbd for openSUSE:Factory checked 
in at 2026-03-11 20:57:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wvkbd (Old)
 and      /work/SRC/openSUSE:Factory/.wvkbd.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wvkbd"

Wed Mar 11 20:57:47 2026 rev:4 rq:1338344 version:0.19.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/wvkbd/wvkbd.changes      2026-01-23 
17:32:46.285210041 +0100
+++ /work/SRC/openSUSE:Factory/.wvkbd.new.8177/wvkbd.changes    2026-03-11 
21:00:07.125792825 +0100
@@ -1,0 +2,8 @@
+Mon Feb  9 08:04:20 UTC 2026 - Michael Vetter <[email protected]>
+
+- Update to 0.19.4:
+  * Fix a regression introduced in v0.19 where composed keys
+    (diacritics etc) no longer produced uppercase letters when
+    Shift was pressed (#115)
+
+-------------------------------------------------------------------

Old:
----
  v0.19.2.tar.gz

New:
----
  v0.19.4.tar.gz

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

Other differences:
------------------
++++++ wvkbd.spec ++++++
--- /var/tmp/diff_new_pack.X2Q7xV/_old  2026-03-11 21:00:07.665815066 +0100
+++ /var/tmp/diff_new_pack.X2Q7xV/_new  2026-03-11 21:00:07.669815230 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           wvkbd
-Version:        0.19.2
+Version:        0.19.4
 Release:        0
 Summary:        Wayland on-screen keyboard
 License:        GPL-3.0-only

++++++ v0.19.2.tar.gz -> v0.19.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wvkbd-0.19.2/config.mk new/wvkbd-0.19.4/config.mk
--- old/wvkbd-0.19.2/config.mk  2026-01-22 17:33:05.000000000 +0100
+++ new/wvkbd-0.19.4/config.mk  2026-02-06 16:00:07.000000000 +0100
@@ -1,4 +1,4 @@
-VERSION = 0.19.2
+VERSION = 0.19.4
 CFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=700
 PREFIX = /usr/local
 MANPREFIX = ${PREFIX}/share/man
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wvkbd-0.19.2/keyboard.c new/wvkbd-0.19.4/keyboard.c
--- old/wvkbd-0.19.2/keyboard.c 2026-01-22 17:33:05.000000000 +0100
+++ new/wvkbd-0.19.4/keyboard.c 2026-02-06 16:00:07.000000000 +0100
@@ -38,7 +38,7 @@
     if ((!kb->prevlayout) ||
         (strcmp(kb->prevlayout->keymap_name, kb->layout->keymap_name) != 0)) {
         fprintf(stderr, "Switching to keymap %s\n", kb->layout->keymap_name);
-        create_and_upload_keymap(kb, kb->layout->keymap_name, 0, 0);
+        create_and_upload_keymap(kb, kb->layout->keymap_name, 0);
     }
     kbd_draw_layout(kb);
 }
@@ -198,7 +198,7 @@
     kb->last_abc_layout = &kb->layouts[layer];
 
     /* upload keymap */
-    create_and_upload_keymap(kb, kb->layout->keymap_name, 0, 0);
+    create_and_upload_keymap(kb, kb->layout->keymap_name, 0);
 }
 
 void
@@ -304,9 +304,11 @@
         unlatch_altgr = (kb->mods & AltGr) == AltGr;
 
         if (kb->last_press->type == Copy) {
+            if (kb->debug) fprintf(stderr, "release copy key 
(unlatch_shift=%d, mods=%d)\n", unlatch_shift, kb->mods);
             zwp_virtual_keyboard_v1_key(kb->vkbd, time, 127, // COMP key
                                         WL_KEYBOARD_KEY_STATE_RELEASED);
         } else {
+            if (kb->debug) fprintf(stderr, "release key %d", 
kb->last_press->code);
             if ((kb->shift_space_is_tab) && (kb->last_press->code == 
KEY_SPACE) && (unlatch_shift)) {
                 // shift + space is tab
                 unlatch_shift = false;
@@ -322,6 +324,7 @@
         }
 
         if (unlatch_shift) {
+            if (kb->debug) fprintf(stderr, "unlatch shift");
             kb->mods ^= Shift;
             zwp_virtual_keyboard_v1_key_mods(kb->vkbd, time, Shift, 
WL_KEYBOARD_KEY_STATE_RELEASED);
         }
@@ -460,8 +463,12 @@
     case Mod:
         kb->mods ^= k->code;
         if (kb->mods & k->code) {
+            if (kb->debug)
+                fprintf(stderr, "mod pressed\n");
             zwp_virtual_keyboard_v1_key_mods(kb->vkbd, time, k->code, 
WL_KEYBOARD_KEY_STATE_PRESSED);
         } else {
+            if (kb->debug)
+                fprintf(stderr, "mod released\n");
             zwp_virtual_keyboard_v1_key_mods(kb->vkbd, time, k->code, 
WL_KEYBOARD_KEY_STATE_RELEASED);
         }
         if ((k->code == Shift) || (k->code == CapsLock)) {
@@ -523,10 +530,15 @@
         // copy code as unicode chr by setting a temporary keymap
         kb->last_swipe = kb->last_press = k;
         kbd_draw_key(kb, k, Press);
-        if (kb->debug)
-            fprintf(stderr, "pressing copy key\n");
-        create_and_upload_keymap(kb, kb->layout->keymap_name, k->code,
-                                 k->code_mod);
+        if (kb->mods & Shift) {
+            if (kb->debug)
+                    fprintf(stderr, "Pressing copy key (with shift)\n");
+            create_and_upload_keymap(kb, kb->layout->keymap_name, k->code_mod);
+        } else {
+            if (kb->debug)
+                    fprintf(stderr, "Pressing copy key\n");
+            create_and_upload_keymap(kb, kb->layout->keymap_name, k->code);
+        }
         zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
         zwp_virtual_keyboard_v1_key(kb->vkbd, time, 127, // COMP key
                                     WL_KEYBOARD_KEY_STATE_PRESSED);
@@ -699,8 +711,7 @@
 }
 
 void
-create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t 
comp_unichr,
-                         uint32_t comp_shift_unichr)
+create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t 
comp_unichr)
 {
     int keymap_index = -1;
     for (int i = 0; i < NUMKEYMAPS; i++) {
@@ -715,7 +726,7 @@
     const char *keymap_template = keymaps[keymap_index];
     size_t keymap_size = strlen(keymap_template) + 64;
     char *keymap_str = malloc(keymap_size);
-    sprintf(keymap_str, keymap_template, comp_unichr, comp_shift_unichr);
+    sprintf(keymap_str, keymap_template, comp_unichr, comp_unichr);
     keymap_size = strlen(keymap_str);
     int keymap_fd = os_create_anonymous_file(keymap_size);
     if (keymap_fd < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wvkbd-0.19.2/keyboard.h new/wvkbd-0.19.4/keyboard.h
--- old/wvkbd-0.19.2/keyboard.h 2026-01-22 17:33:05.000000000 +0100
+++ new/wvkbd-0.19.4/keyboard.h 2026-02-06 16:00:07.000000000 +0100
@@ -148,8 +148,7 @@
 void kbd_next_layer(struct kbd *kb, struct key *k, bool invert);
 void kbd_switch_layout(struct kbd *kb, struct layout *l, size_t layer_index);
 
-void create_and_upload_keymap(struct kbd *kb, const char *name,
-                              uint32_t comp_unichr, uint32_t 
comp_shift_unichr);
+void create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t 
comp_unichr);
 
 #ifndef LAYOUT
 #error "make sure to define LAYOUT"

Reply via email to