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.

Reply via email to