Skip to content
Commit c7a1f606 authored by Harald Sitter's avatar Harald Sitter 🐧
Browse files

replace bespoke xkb geometry parser with xkb

Summary:
the bespoke parser was a horrendous drain on the build time of
plasma-desktop due to recursive templates.
it's been replaced with a new standalone binary that previews any
model/layout/variant/options combination as requested and a qtquick UI
which simplifies the actual rendering substantially.

the new code is better in that it:
- builds in a fraction of the time with a fraction of the power use
- renders complex models (such as the tm2020 or the kinesis) correctly
- because it entirely relies on xkb to figure out keysyms belonging to
  a given key, it's layout representation is not only substantially more
  complete it also correctly obeys options like eurosign:2
- renders numlock and the like (not that this is in fact very useful ^^)
- is following the system palette for coloring
- the paint code should be easier to graps and more robust because xkb
  provides completely consistent geometry and layout data meaning we can
  model this verbatim in qtquick and then scale the entire
  keyboard to a useful size
- this is now a standalone application so potential input method KCMs
  can opt to use it (e.g. fcitx)

BUG: 362946

Test Plan: preview all the layouts and all the models

Reviewers: #plasma

Subscribers: davidre, ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D25191
parent ff60bb0d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment