https://bugs.kde.org/show_bug.cgi?id=520344

Kristen McWilliam <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/plasma-keyboard/-/commit |ma/plasma-keyboard/-/commit
                   |/5e58eab52047a78e4ea6501a48 |/41cefbf2e5d78d3069aef0dce5
                   |1a624d05ca64e7              |6ab57689bd7601

--- Comment #9 from Kristen McWilliam <[email protected]> ---
Git commit 41cefbf2e5d78d3069aef0dce56ab57689bd7601 by Kristen McWilliam.
Committed on 14/06/2026 at 20:16.
Pushed by merritt into branch 'Plasma/6.7'.

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/41cefbf2e5d78d3069aef0dce56ab57689bd7601

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to