Bug 121745

Summary: kxkb doesn't find keyboard layouts with X.org 6.9.0.dfsg.1-4, no configuration is possible
Product: [Unmaintained] kxkb Reporter: Gerhard Kulzer <gerhardk>
Component: generalAssignee: Andriy Rysin <arysin>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Patch to fix the bug

Description Gerhard Kulzer 2006-02-11 08:15:14 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    Debian testing/unstable Packages
OS:                Linux

since I installed X.org 6.9.0.dfsg.1-4 from .deb neither kcontrol not kcmshell kxkb can find any keyboard layout. The following error message is produced:

WARNING: KLocale: trying to look up "" in catalog. Fix the program QComboBox::changeItem: (comboModel) Index 0 out of range

I can set and change the keyboard alright with setxkbmap. So it doesn't seem to be a X problem.
Comment 1 Rex Dieter 2006-02-11 12:44:07 UTC

*** This bug has been marked as a duplicate of 121087 ***
Comment 2 Raphaël Pinson 2006-02-11 20:03:57 UTC
This problem has been reported in Ubuntu : https://launchpad.net/malone/bugs/31165.
It was fixed there, by replacing /usr/share/X11/ with /etc/X11/ in rules.cpp.

It can also be fixed by making a symlink to link /etc/X11/ to /usr/share/X11/ manually.
Comment 3 Raphaël Pinson 2006-02-11 20:21:00 UTC
Imo this bug is _NOT_ a duplicate of 121087, which has already been fixed.
Comment 4 Raphaël Pinson 2006-02-11 20:23:08 UTC
Created attachment 14644 [details]
Patch to fix the bug

This patch fixes the bug in Ubuntu, and I suppose in Debian aswell, by
redefining the variable in kdebase-3.5.1/kxkb/rules.cpp, replacing
/usr/share/X11 with /etc/X11.
Comment 5 Jonathan Riddell 2006-02-12 00:50:57 UTC
Reopening, it's a separate issue.
Comment 6 Jonathan Riddell 2006-02-12 00:51:12 UTC
SVN commit 508515 by jriddell:

Add new directory for xkb
BUG: 121745


 M  +1 -1      rules.cpp  


--- branches/KDE/3.5/kdebase/kxkb/rules.cpp #508514:508515
@@ -17,7 +17,7 @@
 
 #include "rules.h"
 
-const char* X11DirList[6] = {"/usr/share/X11/", "/usr/local/share/X11/", "/usr/X11R6/lib/X11/", "/usr/local/X11R6/lib/X11/", "/usr/lib/X11/", "/usr/local/lib/X11/"};
+const char* X11DirList[7] = {"/etc/X11/", "/usr/share/X11/", "/usr/local/share/X11/", "/usr/X11R6/lib/X11/", "/usr/local/X11R6/lib/X11/", "/usr/lib/X11/", "/usr/local/lib/X11/"};
 const char* rulesFileList[2] = {"xkb/rules/xorg", "xkb/rules/xfree86"};
 
 KeyRules::KeyRules():
Comment 7 Gerhard Kulzer 2006-02-12 10:39:16 UTC
Thanks for the help, the soft link ln -s /etc/X11 /usr/share/X11 solved the problem for me.
Comment 8 Andriy Rysin 2006-02-12 15:54:41 UTC
I am currently working on refactoring kxkb code for 3.5.2 which will take care of many bugs including this one.