Add XkbDir to Files config file section

The XKB base directory was not configuable through the config file.

Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Keith Packard 2009-02-09 13:09:11 +01:00
parent 1230939965
commit 76f18b94bd
7 changed files with 25 additions and 0 deletions

View File

@ -664,6 +664,11 @@ configFiles(XF86ConfFilesPtr fileconf)
xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath);
if (!xf86xkbdirFlag && fileconf && fileconf->file_xkbdir) {
XkbBaseDirectory = fileconf->file_xkbdir;
xf86Msg(X_CONFIG, "XKB base directory set to \"%s\"\n",
XkbBaseDirectory);
}
#if 0 #if 0
/* LogFile */ /* LogFile */
/* /*

View File

@ -176,6 +176,7 @@ Bool xf86sFlag = FALSE;
Bool xf86bsEnableFlag = FALSE; Bool xf86bsEnableFlag = FALSE;
Bool xf86bsDisableFlag = FALSE; Bool xf86bsDisableFlag = FALSE;
Bool xf86silkenMouseDisableFlag = FALSE; Bool xf86silkenMouseDisableFlag = FALSE;
Bool xf86xkbdirFlag = FALSE;
#ifdef HAVE_ACPI #ifdef HAVE_ACPI
Bool xf86acpiDisableFlag = FALSE; Bool xf86acpiDisableFlag = FALSE;
#endif #endif

View File

@ -1828,6 +1828,13 @@ ddxProcessArgument(int argc, char **argv, int i)
FatalError("Invalid isolated device specification\n"); FatalError("Invalid isolated device specification\n");
} }
} }
/* Notice cmdline xkbdir, but pass to dix as well */
if (!strcmp(argv[i], "-xkbdir"))
{
xf86xkbdirFlag = TRUE;
return 0;
}
/* OS-specific processing */ /* OS-specific processing */
return xf86ProcessArgument(argc, argv, i); return xf86ProcessArgument(argc, argv, i);
} }

View File

@ -56,6 +56,7 @@ extern _X_EXPORT Bool xf86sFlag;
extern _X_EXPORT Bool xf86bsEnableFlag; extern _X_EXPORT Bool xf86bsEnableFlag;
extern _X_EXPORT Bool xf86bsDisableFlag; extern _X_EXPORT Bool xf86bsDisableFlag;
extern _X_EXPORT Bool xf86silkenMouseDisableFlag; extern _X_EXPORT Bool xf86silkenMouseDisableFlag;
extern _X_EXPORT Bool xf86xkbdirFlag;
#ifdef HAVE_ACPI #ifdef HAVE_ACPI
extern _X_EXPORT Bool xf86acpiDisableFlag; extern _X_EXPORT Bool xf86acpiDisableFlag;
#endif #endif

View File

@ -72,6 +72,7 @@ static xf86ConfigSymTabRec FilesTab[] =
{MODULEPATH, "modulepath"}, {MODULEPATH, "modulepath"},
{INPUTDEVICES, "inputdevices"}, {INPUTDEVICES, "inputdevices"},
{LOGFILEPATH, "logfile"}, {LOGFILEPATH, "logfile"},
{XKBDIR, "xkbdir"},
{-1, ""}, {-1, ""},
}; };
@ -180,6 +181,11 @@ xf86parseFilesSection (void)
Error (QUOTE_MSG, "LogFile"); Error (QUOTE_MSG, "LogFile");
ptr->file_logfile = val.str; ptr->file_logfile = val.str;
break; break;
case XKBDIR:
if (xf86getSubToken (&(ptr->file_xkbdir)) != STRING)
Error (QUOTE_MSG, "XkbDir");
ptr->file_xkbdir = val.str;
break;
case EOF_TOKEN: case EOF_TOKEN:
Error (UNEXPECTED_EOF_MSG, NULL); Error (UNEXPECTED_EOF_MSG, NULL);
break; break;
@ -255,6 +261,8 @@ xf86printFileSection (FILE * cf, XF86ConfFilesPtr ptr)
} }
fprintf (cf, "\tFontPath \"%s\"\n", s); fprintf (cf, "\tFontPath \"%s\"\n", s);
} }
if (ptr->file_xkbdir)
fprintf (cf, "\tXkbDir \"%s\"\n", ptr->file_xkbdir);
} }
void void
@ -268,6 +276,7 @@ xf86freeFiles (XF86ConfFilesPtr p)
TestFree (p->file_inputdevs); TestFree (p->file_inputdevs);
TestFree (p->file_fontpath); TestFree (p->file_fontpath);
TestFree (p->file_comment); TestFree (p->file_comment);
TestFree (p->file_xkbdir);
xf86conffree (p); xf86conffree (p);
} }

View File

@ -75,6 +75,7 @@ typedef struct
char *file_inputdevs; char *file_inputdevs;
char *file_fontpath; char *file_fontpath;
char *file_comment; char *file_comment;
char *file_xkbdir;
} }
XF86ConfFilesRec, *XF86ConfFilesPtr; XF86ConfFilesRec, *XF86ConfFilesPtr;

View File

@ -100,6 +100,7 @@ typedef enum {
MODULEPATH, MODULEPATH,
INPUTDEVICES, INPUTDEVICES,
LOGFILEPATH, LOGFILEPATH,
XKBDIR,
/* Server Flag tokens. These are deprecated in favour of generic Options */ /* Server Flag tokens. These are deprecated in favour of generic Options */
NOTRAPSIGNALS, NOTRAPSIGNALS,