Bug 1218135

Summary: Dead keys in application after ibus update in the MAME emulation framework
Product: [openSUSE] openSUSE Tumbleweed Reporter: Michael Zapf <Michael.Zapf>
Component: OtherAssignee: Fuminobu Takeyama <ftake>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: jdelvare, Michael.Zapf
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Michael Zapf 2023-12-17 14:54:34 UTC
After an update of the ibus component from 1.5.28-3.1 to 1.5.29-1.1, the German-specific keys (ä, ö, ü, ß) on the German keyboard stop working in the MAME emulation framework.

The keys in other applications are not affected, but in MAME, they are frequently used, and thus this update makes MAME unusable in large parts.

To my understanding, the keys are scanned for raw keycodes in MAME and then mapped to the respective emulated system, so the ö key should actually deliver "COLON", but as stated, does not do that anymore after the update but is completely dead.

I was able to retain the key function by blocking the ibus component update in yast/zypper. Everything else could be updated, as checked right now (kernel 6.6.6).

I am involved in the MAME development, but I'm not familiar with those core functionalities. I may be able to pass information to the suitable devs.
Comment 1 Fuminobu Takeyama 2023-12-30 06:05:55 UTC
Do you use Wayland environment? If so, does it reproduce under X11 environment too?
Comment 2 Michael Zapf 2023-12-30 12:59:26 UTC
No, I am running X. When I start KDE/Plasma on Wayland, the problem is gone. 

Hence, I thought this would be a good incentive to switch to Wayland. However, I noticed that just exactly in KeePassXC, the Autofill feature is not functional on Wayland, and going the copy-paste way again is not the most favorable perspective.
Comment 3 Michael Zapf 2023-12-30 13:32:28 UTC
Just checked: Applying the current dist-upgrade of today (Dec 30, Kernel 6.6.7), the issue is still there when ibus is upgraded as well.

I could avoid the problem by locking the ibus package to 1.5.28:

# zypper info ibus
Loading repository data...
Reading installed packages...


Information for package ibus:
-----------------------------
Repository     : Haupt-Repository (OSS)
Name           : ibus
Version        : 1.5.29-1.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 4.4 MiB
Installed      : Yes
Status         : out-of-date (version 1.5.28-3.1 installed)
Source package : ibus-1.5.29-1.1.src
Upstream URL   : https://github.com/ibus/
Summary        : The "Intelligent Input Bus" input method
Description    : 
    IBus, short for Intelligent Input Bus, is an input framework. IBus
    plugins then provide the particular logic how to translate keypresses
    to input characters and possibly show disambiguation windows around
    the text cursor.
Comment 4 Michael Zapf 2023-12-30 13:34:08 UTC
I'm going to report it on the mentioned github repository.
Comment 5 Jean Delvare 2024-02-04 08:35:43 UTC
Same problem with a game running in Wine and a French keyboard: the key "é" no longer works in the game after a system update which included ibus-1.5.29.

Michael, did you report the issue upstream, and did you get a reply?
Comment 6 Jean Delvare 2024-02-04 08:43:24 UTC
OK, I found your upstream report, which was closed as duplicate of a another ticket, which got fixed meanwhile.

I think we need to backport this upstream commit:
https://github.com/ibus/ibus/commit/719792d300579c1bfdf43251a83c6ed4e5594c07
Comment 7 Jean Delvare 2024-02-04 09:32:59 UTC
Michael, I prepared a test package with the aforementioned commit backported:

https://build.opensuse.org/package/show/home:jdelvare:branches:M17N/ibus

Can you give it a try and report?
Comment 8 Jean Delvare 2024-02-04 11:13:02 UTC
My first test build (1.5.29-333.1) didn't solve the problem for me. I found another ibus upstream commit which fixes an issue which looks even more like the problem I'm seeing:

https://github.com/ibus/ibus/issues/2588
https://github.com/ibus/ibus/commit/4872c1fcdc8bbe146e967d004edf63f5994b21f8

So I backported that commit as well, and the new build (1.5.29-334.1) fixes my problem. I hope it will fix Michael's problem too.
Comment 9 OBSbugzilla Bot 2024-02-09 12:45:02 UTC
This is an autogenerated message for OBS integration:
This bug (1218135) was mentioned in
https://build.opensuse.org/request/show/1145410 Factory / ibus
Comment 10 Michael Zapf 2024-02-18 13:03:12 UTC
I can confirm that the issue has been resolved for me with ibus-1.5.29-3.1.x86_64.

Thanks!
Comment 11 Jean Delvare 2024-02-27 13:59:55 UTC
Fix has been released, closing.