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"
