xfree86: Improve default mouse handling on the Hurd

Make /dev/mouse the default device.  This makes Xorg works with empty
or missing InputDevice sections.
This commit is contained in:
Samuel Thibault 2007-08-12 03:07:04 +02:00 committed by Julien Cristau
parent c5741438a3
commit 03f9da6724

View File

@ -46,6 +46,8 @@
#include <mach.h> #include <mach.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#define DEFAULT_MOUSE_DEV "/dev/mouse"
typedef unsigned short kev_type; /* kd event type */ typedef unsigned short kev_type; /* kd event type */
typedef unsigned char Scancode; typedef unsigned char Scancode;
@ -166,6 +168,26 @@ OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags)
return TRUE; return TRUE;
} }
static const char *
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
{
const char path[] = DEFAULT_MOUSE_DEV;
int fd;
SYSCALL (fd = open(path, O_RDWR | O_NONBLOCK | O_EXCL));
if (fd == -1)
return NULL;
close(fd);
pInfo->conf_idev->commonOptions =
xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", path);
xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", pInfo->name,
path);
return path;
}
static int static int
SupportedInterfaces(void) SupportedInterfaces(void)
{ {
@ -195,7 +217,6 @@ CheckProtocol(const char *protocol)
return FALSE; return FALSE;
} }
/* XXX Is this appropriate? If not, this function should be removed. */
static const char * static const char *
DefaultProtocol(void) DefaultProtocol(void)
{ {
@ -212,6 +233,7 @@ xf86OSMouseInit(int flags)
return NULL; return NULL;
p->SupportedInterfaces = SupportedInterfaces; p->SupportedInterfaces = SupportedInterfaces;
p->BuiltinNames = BuiltinNames; p->BuiltinNames = BuiltinNames;
p->FindDevice = FindDevice;
p->DefaultProtocol = DefaultProtocol; p->DefaultProtocol = DefaultProtocol;
p->CheckProtocol = CheckProtocol; p->CheckProtocol = CheckProtocol;
p->PreInit = OsMousePreInit; p->PreInit = OsMousePreInit;