diff options
-rw-r--r-- | hw/xfree86/common/xf86Config.c | 5 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Globals.c | 1 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Init.c | 7 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Priv.h | 1 | ||||
-rw-r--r-- | hw/xfree86/parser/Files.c | 9 | ||||
-rw-r--r-- | hw/xfree86/parser/xf86Parser.h | 1 | ||||
-rw-r--r-- | hw/xfree86/parser/xf86tokens.h | 1 |
7 files changed, 25 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index a70b1d6d7..464f276c4 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c | |||
@@ -664,6 +664,11 @@ configFiles(XF86ConfFilesPtr fileconf) | |||
664 | 664 | ||
665 | xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); | 665 | xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); |
666 | 666 | ||
667 | if (!xf86xkbdirFlag && fileconf && fileconf->file_xkbdir) { | ||
668 | XkbBaseDirectory = fileconf->file_xkbdir; | ||
669 | xf86Msg(X_CONFIG, "XKB base directory set to \"%s\"\n", | ||
670 | XkbBaseDirectory); | ||
671 | } | ||
667 | #if 0 | 672 | #if 0 |
668 | /* LogFile */ | 673 | /* LogFile */ |
669 | /* | 674 | /* |
diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c index c27736937..f414bd371 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c | |||
@@ -176,6 +176,7 @@ Bool xf86sFlag = FALSE; | |||
176 | Bool xf86bsEnableFlag = FALSE; | 176 | Bool xf86bsEnableFlag = FALSE; |
177 | Bool xf86bsDisableFlag = FALSE; | 177 | Bool xf86bsDisableFlag = FALSE; |
178 | Bool xf86silkenMouseDisableFlag = FALSE; | 178 | Bool xf86silkenMouseDisableFlag = FALSE; |
179 | Bool xf86xkbdirFlag = FALSE; | ||
179 | #ifdef HAVE_ACPI | 180 | #ifdef HAVE_ACPI |
180 | Bool xf86acpiDisableFlag = FALSE; | 181 | Bool xf86acpiDisableFlag = FALSE; |
181 | #endif | 182 | #endif |
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index 2c4be84c6..acb775bbe 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c | |||
@@ -1828,6 +1828,13 @@ ddxProcessArgument(int argc, char **argv, int i) | |||
1828 | FatalError("Invalid isolated device specification\n"); | 1828 | FatalError("Invalid isolated device specification\n"); |
1829 | } | 1829 | } |
1830 | } | 1830 | } |
1831 | /* Notice cmdline xkbdir, but pass to dix as well */ | ||
1832 | if (!strcmp(argv[i], "-xkbdir")) | ||
1833 | { | ||
1834 | xf86xkbdirFlag = TRUE; | ||
1835 | return 0; | ||
1836 | } | ||
1837 | |||
1831 | /* OS-specific processing */ | 1838 | /* OS-specific processing */ |
1832 | return xf86ProcessArgument(argc, argv, i); | 1839 | return xf86ProcessArgument(argc, argv, i); |
1833 | } | 1840 | } |
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h index 845744338..76e5b4640 100644 --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h | |||
@@ -56,6 +56,7 @@ extern _X_EXPORT Bool xf86sFlag; | |||
56 | extern _X_EXPORT Bool xf86bsEnableFlag; | 56 | extern _X_EXPORT Bool xf86bsEnableFlag; |
57 | extern _X_EXPORT Bool xf86bsDisableFlag; | 57 | extern _X_EXPORT Bool xf86bsDisableFlag; |
58 | extern _X_EXPORT Bool xf86silkenMouseDisableFlag; | 58 | extern _X_EXPORT Bool xf86silkenMouseDisableFlag; |
59 | extern _X_EXPORT Bool xf86xkbdirFlag; | ||
59 | #ifdef HAVE_ACPI | 60 | #ifdef HAVE_ACPI |
60 | extern _X_EXPORT Bool xf86acpiDisableFlag; | 61 | extern _X_EXPORT Bool xf86acpiDisableFlag; |
61 | #endif | 62 | #endif |
diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c index 3777432b1..2f77c0e7c 100644 --- a/hw/xfree86/parser/Files.c +++ b/hw/xfree86/parser/Files.c | |||
@@ -72,6 +72,7 @@ static xf86ConfigSymTabRec FilesTab[] = | |||
72 | {MODULEPATH, "modulepath"}, | 72 | {MODULEPATH, "modulepath"}, |
73 | {INPUTDEVICES, "inputdevices"}, | 73 | {INPUTDEVICES, "inputdevices"}, |
74 | {LOGFILEPATH, "logfile"}, | 74 | {LOGFILEPATH, "logfile"}, |
75 | {XKBDIR, "xkbdir"}, | ||
75 | {-1, ""}, | 76 | {-1, ""}, |
76 | }; | 77 | }; |
77 | 78 | ||
@@ -180,6 +181,11 @@ xf86parseFilesSection (void) | |||
180 | Error (QUOTE_MSG, "LogFile"); | 181 | Error (QUOTE_MSG, "LogFile"); |
181 | ptr->file_logfile = val.str; | 182 | ptr->file_logfile = val.str; |
182 | break; | 183 | break; |
184 | case XKBDIR: | ||
185 | if (xf86getSubToken (&(ptr->file_xkbdir)) != STRING) | ||
186 | Error (QUOTE_MSG, "XkbDir"); | ||
187 | ptr->file_xkbdir = val.str; | ||
188 | break; | ||
183 | case EOF_TOKEN: | 189 | case EOF_TOKEN: |
184 | Error (UNEXPECTED_EOF_MSG, NULL); | 190 | Error (UNEXPECTED_EOF_MSG, NULL); |
185 | break; | 191 | break; |
@@ -255,6 +261,8 @@ xf86printFileSection (FILE * cf, XF86ConfFilesPtr ptr) | |||
255 | } | 261 | } |
256 | fprintf (cf, "\tFontPath \"%s\"\n", s); | 262 | fprintf (cf, "\tFontPath \"%s\"\n", s); |
257 | } | 263 | } |
264 | if (ptr->file_xkbdir) | ||
265 | fprintf (cf, "\tXkbDir \"%s\"\n", ptr->file_xkbdir); | ||
258 | } | 266 | } |
259 | 267 | ||
260 | void | 268 | void |
@@ -268,6 +276,7 @@ xf86freeFiles (XF86ConfFilesPtr p) | |||
268 | TestFree (p->file_inputdevs); | 276 | TestFree (p->file_inputdevs); |
269 | TestFree (p->file_fontpath); | 277 | TestFree (p->file_fontpath); |
270 | TestFree (p->file_comment); | 278 | TestFree (p->file_comment); |
279 | TestFree (p->file_xkbdir); | ||
271 | 280 | ||
272 | xf86conffree (p); | 281 | xf86conffree (p); |
273 | } | 282 | } |
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h index 0444b0338..29825dd51 100644 --- a/hw/xfree86/parser/xf86Parser.h +++ b/hw/xfree86/parser/xf86Parser.h | |||
@@ -75,6 +75,7 @@ typedef struct | |||
75 | char *file_inputdevs; | 75 | char *file_inputdevs; |
76 | char *file_fontpath; | 76 | char *file_fontpath; |
77 | char *file_comment; | 77 | char *file_comment; |
78 | char *file_xkbdir; | ||
78 | } | 79 | } |
79 | XF86ConfFilesRec, *XF86ConfFilesPtr; | 80 | XF86ConfFilesRec, *XF86ConfFilesPtr; |
80 | 81 | ||
diff --git a/hw/xfree86/parser/xf86tokens.h b/hw/xfree86/parser/xf86tokens.h index 6e4fdeab5..8091f09d3 100644 --- a/hw/xfree86/parser/xf86tokens.h +++ b/hw/xfree86/parser/xf86tokens.h | |||
@@ -100,6 +100,7 @@ typedef enum { | |||
100 | MODULEPATH, | 100 | MODULEPATH, |
101 | INPUTDEVICES, | 101 | INPUTDEVICES, |
102 | LOGFILEPATH, | 102 | LOGFILEPATH, |
103 | XKBDIR, | ||
103 | 104 | ||
104 | /* Server Flag tokens. These are deprecated in favour of generic Options */ | 105 | /* Server Flag tokens. These are deprecated in favour of generic Options */ |
105 | NOTRAPSIGNALS, | 106 | NOTRAPSIGNALS, |