keyboard2 moved to kdereview

Anne-Marie Mahfouf annemarie.mahfouf at free.fr
Mon Apr 26 13:31:33 BST 2010


On Monday 26 April 2010 04:18:11 Andriy Rysin wrote:
> 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
> change)
> * 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
> performed)
> 
> 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 Messages.sh 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
> 
> Thanks,
> Andriy
I can't build it. First it does not find 
#include <config-workspace.h>

then when I removed this include it says
/usr/local/trunk-src/kdereview/keyboard2/xkb_rules.cpp:131: erreur: ‘XLIBDIR’ 
was not declared in this scope

Any hints?

Anne-Marie






More information about the kde-core-devel mailing list