keyboard2 moved to kdereview

Andriy Rysin arysin at
Mon Apr 26 03:18:11 BST 2010

Hi all

I've moved new keyboard control module in kdereview under keyboard2 name.

keyboard2 is new project to replace keyboard (kcmmisc) and kxkb modules to
manage keyboard hardware configuration and layouts.

The project provides: kded daemon, plasma applet, layout widget for
embedding and new kcm configuration module.

Keyboard daemon:
* configures keyboard layouts on start
* provides DBUS API "org.kde.KXKB/kxkb"
* listens to window/desktop switching if layout switch mode is not global
* listens to new keyboard devices and reinitializes keyboard layouts
* listens to Global KDE Shortcut to switch layouts (and listens to their
* listens to keyboard configuration change
* provides systray icon to show layout

Keyboard applet:
* displays current layout with text and (optionally flag)

Layout widget:
* displays current layout with text (currently no flag or tooltip) embedded
in another widget
* dynamically loaded as a plugin

KCM Module:
* allows to configure keyboard hardware, layouts and xkb options (advanced)
in one module

Advantages (over old code):
* One UI module to configure keyboard layouts and hardware
* Allows to configure keyboard model/xkb options without configuring layouts
* Less cluttered layout configuration control (add layout is separate)
* Layout control/DBus interface is separate from the indicator
* Does not require libxklavier (parses rules xml directly with QtXml)
* Takes country/language names/translations from iso-codes project
* Information about current layouts is always taken from X server, so should
be more robust
* Cleaner code (rewritten from scratch)
* Due to many points above should start faster (though no benchmarks

New features:
* Allow selection of keyboard layout by language

More info is in the README and TODO.

The UI is a bit rough around the edges (need to work on UI layout in KCM,
possibly merge text with flag in the layouts table, some better drawing of
text in the icon etc) and code could be a bit improved (some optimization
like text-drawn pixmap caching and smarter library linking) but all features
should be working.

I did not like the way the text was drawn over the flag before but could not
find a better way yet, so in the systray icon for now it's either flag or
text. This is a bit different and I am not sure I like it yet :) so if
people like the old way better it'll be fairly easy to revert it back (and
of course people who don't want flags would not care :) ). Also for drawing
the text I need to find a way to leave the taskbar background (but this was
also the problem before).

If you're willing to try, you'll have to check out keyboard2 into
kdebase/workspace/kcontrol and apply the cmake patch attached
(keyboard2_cmakefile.patch). You may need to remove old kxkb and kcmmisc
kcms so they don't interfere though. Also the second patch is for krunner's
lockdlg if you want to try that one too.

I tried to preserve the translation messages from the old modules as much as
I could and even provided but did not do much testing in this
area. Not sure what the best way to decrease the amount translators have to
redo so any help is appreciated.

Also I ran it via krazy so should be fairly clean in this regards.

I was carving out some time by bits and pieces and was doing this rewrite
for half a year now so I am hoping to get some (hopefully positive) feedback
:), so comments and suggestions are very welcome

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: keyboard2_cmakefile.patch
Type: text/x-patch
Size: 488 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lockdlg_kxkb_to_keyboard2.patch
Type: text/x-patch
Size: 2177 bytes
Desc: not available
URL: <>

More information about the kde-core-devel mailing list