Merge remote branch 'whot/for-keith'

This commit is contained in:
Keith Packard 2010-04-07 22:25:51 -07:00
commit d7c98c1c81
10 changed files with 114 additions and 37 deletions

View File

@ -1,8 +1,40 @@
#
# Catch-all evdev loader for udev-based systems
#
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.
Section "InputClass"
Identifier "evdev-catchall"
Driver "evdev"
Identifier "evdev pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection

View File

@ -9,7 +9,7 @@ AM_CFLAGS += $(UDEV_CFLAGS)
libconfig_la_SOURCES += udev.c
libconfig_la_LIBADD = $(UDEV_LIBS)
xorgconfddir = $(prefix)/etc/X11/$(XF86CONFIGDIR)
xorgconfddir = $(datadir)/X11/$(XF86CONFIGDIR)
xorgconfd_DATA = 10-evdev.conf
else

View File

@ -1802,8 +1802,10 @@ if test "x$XORG" = xyes; then
AC_SUBST([driverdir])
sdkdir="$includedir/xorg"
extdir="$includedir/X11/extensions"
sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
AC_SUBST([sdkdir])
AC_SUBST([extdir])
AC_SUBST([sysconfigdir])
AC_SUBST([logdir])
# stuff the ABI versions into the pc file too

View File

@ -34,6 +34,7 @@ MANDEFS = \
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__mandir__=$(mandir) \
-D__projectroot__=$(prefix) \
-D__sysconfdir__=$(sysconfdir) \
-D__datadir__=$(datadir) \
-D__xconfigfile__=$(__XCONFIGFILE__) \
-D__xconfigdir__=$(__XCONFIGDIR__) \

View File

@ -97,20 +97,15 @@ extern DeviceAssocRec mouse_assoc;
#endif
#ifndef ROOT_CONFIGDIRPATH
#define ROOT_CONFIGDIRPATH "%A," "%R," \
"/etc/X11/%R," "%P/etc/X11/%R," \
"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
"%P/etc/X11/%X," \
"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
"%P/lib/X11/%X"
"/etc/X11/%R," "%C/X11/%R," \
"/etc/X11/%X," "%C/X11/%X"
#endif
#ifndef USER_CONFIGDIRPATH
#define USER_CONFIGDIRPATH "/etc/X11/%S," "%P/etc/X11/%S," \
"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
"%P/etc/X11/%X," \
"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
"%P/lib/X11/%X"
#define USER_CONFIGDIRPATH "/etc/X11/%R," "%C/X11/%R," \
"/etc/X11/%X," "%C/X11/%X"
#endif
#ifndef SYS_CONFIGDIRPATH
#define SYS_CONFIGDIRPATH "/usr/share/X11/%X," "%D/X11/%X"
#endif
#ifndef PROJECTROOT
#define PROJECTROOT "/usr/X11R6"
@ -2429,7 +2424,7 @@ checkInput(serverLayoutPtr layout, Bool implicit_layout) {
ConfigStatus
xf86HandleConfigFile(Bool autoconfig)
{
const char *filename, *dirname;
const char *filename, *dirname, *sysdirname;
char *filesearch, *dirsearch;
MessageType filefrom = X_DEFAULT;
MessageType dirfrom = X_DEFAULT;
@ -2452,6 +2447,8 @@ xf86HandleConfigFile(Bool autoconfig)
dirfrom = X_CMDLINE;
xf86initConfigFiles();
sysdirname = xf86openConfigDirFiles(SYS_CONFIGDIRPATH, NULL,
PROJECTROOT);
dirname = xf86openConfigDirFiles(dirsearch, xf86ConfigDir, PROJECTROOT);
filename = xf86openConfigFile(filesearch, xf86ConfigFile, PROJECTROOT);
if (filename) {
@ -2472,7 +2469,10 @@ xf86HandleConfigFile(Bool autoconfig)
"Unable to locate/open config directory: \"%s\"\n",
xf86ConfigDir);
}
if (!filename && !dirname)
if (sysdirname)
xf86MsgVerb(X_DEFAULT, 0, "Using system config directory \"%s\"\n",
sysdirname);
if (!filename && !dirname && !sysdirname)
return CONFIG_NOFILE;
}

View File

@ -102,19 +102,51 @@ is the machine's hostname as reported by
.BR gethostname (__libmansuffix__).
.PP
Additional configuration files are searched for in the following
directories:
directories when the server is started as a normal user:
.PP
.RS 4
.nf
.I /etc/X11/__xconfigdir__\-4
.IR /etc/X11/ <cmdline>
.IR __sysconfdir__/X11/ <cmdline>
.I /etc/X11/__xconfigdir__
.I /etc/__xconfigdir__
.IR __projectroot__/etc/X11/__xconfigdir__. <hostname>
.I __projectroot__/etc/X11/__xconfigdir__\-4
.I __projectroot__/etc/X11/__xconfigdir__
.IR __projectroot__/lib/X11/__xconfigdir__. <hostname>
.I __projectroot__/lib/X11/__xconfigdir__\-4
.I __projectroot__/lib/X11/__xconfigdir__
.I __sysconfdir__/X11/__xconfigdir__
.fi
.RE
.PP
where
.I <cmdline>
is a relative path (with no \(lq..\(rq components) specified with the
.B \-configdir
command line option.
.PP
When the __xservername__ server is started by the \(lqroot\(rq user, the
config directory search locations are as follows:
.PP
.RS 4
.nf
<cmdline>
.IR /etc/X11/ <cmdline>
.IR __sysconfdir__/X11/ <cmdline>
.I /etc/X11/__xconfigdir__
.I __sysconfdir__/X11/__xconfigdir__
.fi
.RE
.PP
where
.I <cmdline>
is the path specified with the
.B \-configdir
command line option (which may be absolute or relative).
.PP
Finally, configuration files will also be searched for in directories
reserved for system use. These are to separate configuration files from
the vendor or 3rd party packages from those of local administration.
These files are found in the following directories:
.PP
.RS 4
.nf
.I /usr/share/X11/__xconfigdir__
.I __datadir__/X11/__xconfigdir__
.fi
.RE
.PP
@ -2373,25 +2405,16 @@ Display drivers:
.PP
Input drivers:
.BR acecad (__drivermansuffix__),
.BR calcomp (__drivermansuffix__),
.BR citron (__drivermansuffix__),
.BR dmc (__drivermansuffix__),
.BR dynapro (__drivermansuffix__),
.BR elographics (__drivermansuffix__),
.BR evdev (__drivermansuffix__),
.BR fpit (__drivermansuffix__),
.BR js_x (__drivermansuffix__),
.BR joystick (__drivermansuffix__),
.BR kbd (__drivermansuffix__),
.BR magictouch (__drivermansuffix__),
.BR microtouch (__drivermansuffix__),
.BR mousedrv (__drivermansuffix__),
.BR mutouch (__drivermansuffix__),
.BR palmax (__drivermansuffix__),
.BR penmount (__drivermansuffix__),
.BR synaptics (__drivermansuffix__),
.BR tek4957 (__drivermansuffix__),
.BR ur98 (__drivermansuffix__),
.BR vmmouse (__drivermansuffix__),
.BR void (__drivermansuffix__),
.BR wacom (__drivermansuffix__).

View File

@ -34,7 +34,9 @@ libxf86config_a_SOURCES = \
$(INTERNAL_SOURCES)
libxf86config_a_CFLAGS = $(AM_CFLAGS)
AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DDATADIR=\"$(datadir)\"
EXTRA_DIST = \
Configint.h \

View File

@ -599,6 +599,8 @@ xf86pathIsSafe(const char *path)
* %F config file environment ($XORGCONFIG) as a relative path
* %G config file environment ($XORGCONFIG) as a safe path
* %P projroot
* %C sysconfdir
* %D datadir
* %M major version number
* %% %
*/
@ -615,6 +617,12 @@ xf86pathIsSafe(const char *path)
#ifndef PROJECTROOT
#define PROJECTROOT "/usr/X11R6"
#endif
#ifndef SYSCONFDIR
#define SYSCONFDIR PROJECTROOT "/etc"
#endif
#ifndef DATADIR
#define DATADIR PROJECTROOT "/share"
#endif
#ifndef XCONFENV
#define XCONFENV "XORGCONFIG"
#endif
@ -755,6 +763,12 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
else
BAIL_OUT;
break;
case 'C':
APPEND_STR(SYSCONFDIR);
break;
case 'D':
APPEND_STR(DATADIR);
break;
case 'M':
if (!majorvers[0]) {
if (XF86_VERSION_MAJOR < 0 || XF86_VERSION_MAJOR > 99) {

View File

@ -312,6 +312,7 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs,
xf86SetCursor(pScreen, NullCursor, x, y);
ScreenPriv->isUp = FALSE;
}
ScreenPriv->CurrentCursor = NullCursor;
return;
}

View File

@ -2,8 +2,10 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
datarootdir=@datarootdir@
moduledir=@moduledir@
sdkdir=@sdkdir@
sysconfigdir=@sysconfigdir@
abi_ansic=@abi_ansic@
abi_videodrv=@abi_videodrv@