Let the DDX decide on the XkbRulesDefaults.
Rather than assuming rules in the CoreKeyboardProc, init the default rules in InitCoreDevices, then re-use them later. In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether we'll load kbd or evdev. If we create a new MD, use pc105,us as default and re-use the rules file used previously. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
02c059ea99
commit
cc78f04b22
@ -528,7 +528,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);
|
||||
}
|
||||
|
@ -1032,6 +1032,12 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
|
||||
xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices);
|
||||
xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput);
|
||||
|
||||
/* AEI on? Then we're not using kbd, so use the evdev rules set. */
|
||||
#ifdef XKB
|
||||
XkbSetRulesDflts(((xf86Info.allowEmptyInput) ? "evdev" : "base"),
|
||||
"pc105", "us", NULL, NULL);
|
||||
#endif
|
||||
|
||||
xf86Info.useDefaultFontPath = TRUE;
|
||||
xf86Info.useDefaultFontPathFrom = X_DEFAULT;
|
||||
if (xf86GetOptValBool(FlagOptions, FLAG_USE_DEFAULT_FONT_PATH, &value)) {
|
||||
|
Loading…
Reference in New Issue
Block a user