diff options
Diffstat (limited to 'kxkb/extension.cpp')
| -rw-r--r-- | kxkb/extension.cpp | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/kxkb/extension.cpp b/kxkb/extension.cpp index f4eee125c..405208020 100644 --- a/kxkb/extension.cpp +++ b/kxkb/extension.cpp @@ -4,6 +4,7 @@  #include <qstring.h>  #include <qmap.h>  #include <qfile.h> +#include <qdir.h>  #include <kdebug.h>  #include <kstandarddirs.h> @@ -176,12 +177,18 @@ bool XKBExtension::setLayoutInternal(const QString& model,      if( !fullVariant.isNull() && !fullVariant.isEmpty() )          p << "-variant" << fullVariant; -    if (p.start(KProcess::Block) && p.normalExit() && (p.exitStatus() == 0)) { -		return true; //setGroup( group ); -    } -    else { -        return false; -    } +    p.start(KProcess::Block);  + +    // reload ubuntu hotkey-setup keycode -> keysym maps +    KProcess pXmodmap; +    pXmodmap << "/usr/bin/xmodmap" << "/usr/share/apps/kxkb/ubuntu.xmodmap"; +    pXmodmap.start(KProcess::Block);  + +    KProcess pXmodmapHome; +    pXmodmapHome << "/usr/bin/xmodmap" << QDir::home().path() + "/.Xmodmap"; +    pXmodmapHome.start(KProcess::Block);  + +    return p.normalExit() && (p.exitStatus() == 0);  }  bool XKBExtension::setGroup(unsigned int group) | 
