On Tue, Dec 16, 2008 at 11:50 AM, Keith Packard <[email protected]> wrote: > This patch removes the default rules setting from DIX and adds it to the > xfree86 DDX. What happens with other X servers if I apply this patch?
I'm pretty sure they fall back to the builtin defaults in xkb/xkbInit.c. They are defined in the XKB_DFLT_* macros. When I was playing with caching keymaps, I was using the patch below with no noticeable effects (watch out for gmail wrapping). I meant to write a patch for a --with-xkb-default-rmlvo parameter for configure, but didn't get around to it. commit c3a5fc4e71b2c50b1981f777263e62ded7e8be0a Author: Dan Nicholson <[email protected]> Date: Thu Nov 20 16:13:40 2008 -0800 Set sane XKB defaults at build time instead of overriding from dix DIX effectively sets the default XKB rules by resetting the defaults when setting up the core keyboard. Instead, just set the wanted defaults in the XKB macros where they can be altered at build time. The previous XKB defaults were bogus, anyway. diff --git a/dix/devices.c b/dix/devices.c index 583ecc0..e3d6de5 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -526,7 +526,6 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what) #ifdef XKB if (!noXkbExtension) { bzero(&names, sizeof(names)); - XkbSetRulesDflts("base", "pc105", "us", NULL, NULL); XkbInitKeyboardDeviceStruct(pDev, &names, &keySyms, modMap, CoreKeyboardBell, CoreKeyboardCtl); } diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index 3935f40..6d45d74 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -87,19 +87,19 @@ typedef struct _SrvXkmInfo { /***====================================================================***/ #ifndef XKB_BASE_DIRECTORY -#define XKB_BASE_DIRECTORY "/usr/lib/X11/xkb" +#define XKB_BASE_DIRECTORY "/usr/share/X11/xkb" #endif #ifndef XKB_BIN_DIRECTORY #define XKB_BIN_DIRECTORY XKB_BASE_DIRECTORY #endif #ifndef XKB_DFLT_RULES_FILE -#define XKB_DFLT_RULES_FILE "rules" +#define XKB_DFLT_RULES_FILE "base" #endif #ifndef XKB_DFLT_KB_LAYOUT #define XKB_DFLT_KB_LAYOUT "us" #endif #ifndef XKB_DFLT_KB_MODEL -#define XKB_DFLT_KB_MODEL "dflt" +#define XKB_DFLT_KB_MODEL "pc105" #endif #ifndef XKB_DFLT_KB_VARIANT #define XKB_DFLT_KB_VARIANT NULL _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
