Support compose key in xkbcommon integration
ClosedPublic

Authored by graesslin on Aug 29 2016, 3:12 PM.

Details

Summary

The Xkb class now creates a compose key table and a state object and
feeds all key presses through the compose state machine.

Xkb now tracks the latest keysym which is provided through new method
currentKeysym. This is now used when creating a QKeyEvent instead of
passing the key code to the xkb state. With that the keysym can also
be updated through the compose state system.

This only affects KWin internal usage where text is composed, e.g. the
present windows effect filter. Wayland clients do not gain compose key
support, though.

Minimum xkbcommon version raised to 0.5 as compose key support is new
in that version.

Test Plan

Enabled compose key support in keymap and verified through DebugConsole

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 6359.Aug 29 2016, 3:12 PM
graesslin retitled this revision from to Support compose key in xkbcommon integration.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptAug 29 2016, 3:12 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
bshah accepted this revision.Aug 30 2016, 5:35 AM
bshah added a reviewer: bshah.
This revision is now accepted and ready to land.Aug 30 2016, 5:35 AM
This revision was automatically updated to reflect the committed changes.