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:
parent
c5741438a3
commit
03f9da6724
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue