https://bugs.kde.org/show_bug.cgi?id=520344
Aleix Pol <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|ASSIGNED |RESOLVED Latest Commit| |https://invent.kde.org/plas | |ma/plasma-keyboard/-/commit | |/5e58eab52047a78e4ea6501a48 | |1a624d05ca64e7 --- Comment #8 from Aleix Pol <[email protected]> --- Git commit 5e58eab52047a78e4ea6501a481a624d05ca64e7 by Aleix Pol Gonzalez, on behalf of Kristen McWilliam. Committed on 14/06/2026 at 15:51. Pushed by merritt into branch 'master'. fix: improve reliability of dead key and compose key handling w/ overlay We were trying to track the compose state ourselves while still passing the keys through to the compositor, but this is problematic because some applications/toolkits (for example Signal, Telegram, and Chromium have been identified) will send a surrounding_text changed event for the compose/dead key (to e.g. visually show a change), but this surrounding_text change event caused our tracking to think the compose sequence was finished or cancelled, aborting the sequence and breaking the compose/dead key handling. Instead we use the actual xkbcommon state machine to keep track of the compose state (which makes better sense than trying to implement our own), and do not pass such compose keys through to the compositor at all; thus we don't have to worry about misbehaving applications/toolkits sending unexpected events that break the key handling. Tests for both dead keys and compose sequences have been added. Related: bug 518141, bug 519339, bug 520410 M +3 -0 CMakeLists.txt M +10 -1 autotests/CMakeLists.txt M +131 -10 autotests/mockinputmethodcompositor.cpp M +1 -0 src/CMakeLists.txt M +63 -53 src/overlay/overlaycontroller.cpp M +21 -23 src/overlay/overlaycontroller.h https://invent.kde.org/plasma/plasma-keyboard/-/commit/5e58eab52047a78e4ea6501a481a624d05ca64e7 -- You are receiving this mail because: You are watching all bug changes.
