summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-02-09 13:09:11 +0100
committerKeith Packard <keithp@keithp.com>2009-02-17 11:01:15 -0800
commit76f18b94bd2719a8199334742d021c4d0806187d (patch)
treef616051b2de4f5e6a701275c5ab5c766d902620e
parent123093996507c4d3b6dc457240ce00f8ac42f410 (diff)
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>
-rw-r--r--hw/xfree86/common/xf86Config.c5
-rw-r--r--hw/xfree86/common/xf86Globals.c1
-rw-r--r--hw/xfree86/common/xf86Init.c7
-rw-r--r--hw/xfree86/common/xf86Priv.h1
-rw-r--r--hw/xfree86/parser/Files.c9
-rw-r--r--hw/xfree86/parser/xf86Parser.h1
-rw-r--r--hw/xfree86/parser/xf86tokens.h1
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;
176Bool xf86bsEnableFlag = FALSE; 176Bool xf86bsEnableFlag = FALSE;
177Bool xf86bsDisableFlag = FALSE; 177Bool xf86bsDisableFlag = FALSE;
178Bool xf86silkenMouseDisableFlag = FALSE; 178Bool xf86silkenMouseDisableFlag = FALSE;
179Bool xf86xkbdirFlag = FALSE;
179#ifdef HAVE_ACPI 180#ifdef HAVE_ACPI
180Bool xf86acpiDisableFlag = FALSE; 181Bool 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;
56extern _X_EXPORT Bool xf86bsEnableFlag; 56extern _X_EXPORT Bool xf86bsEnableFlag;
57extern _X_EXPORT Bool xf86bsDisableFlag; 57extern _X_EXPORT Bool xf86bsDisableFlag;
58extern _X_EXPORT Bool xf86silkenMouseDisableFlag; 58extern _X_EXPORT Bool xf86silkenMouseDisableFlag;
59extern _X_EXPORT Bool xf86xkbdirFlag;
59#ifdef HAVE_ACPI 60#ifdef HAVE_ACPI
60extern _X_EXPORT Bool xf86acpiDisableFlag; 61extern _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
260void 268void
@@ -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}
79XF86ConfFilesRec, *XF86ConfFilesPtr; 80XF86ConfFilesRec, *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,