Commit a42e31b2 authored by Matthew Allum's avatar Matthew Allum

Fixed tslib driver to handle VT switches

parent a0876ade
......@@ -121,6 +121,29 @@ static char *TsNames[] = {
int TsInputType;
int
TslibEnable (int not_needed_fd, void *closure)
{
KdMouseInfo *mi = closure;
int fd = 0;
if(!(tsDev = ts_open(mi->name, 0))) {
fprintf(stderr, "%s() failed to open %s\n", __func__, mi->name );
return -1; /* XXX Not sure what to return here */
}
ts_config(tsDev);
fd=ts_fd(tsDev);
return fd;
}
void
TslibDisable (int fd, void *closure)
{
ts_close(tsDev);
}
int
TslibInit (void)
{
......@@ -131,7 +154,7 @@ TslibInit (void)
if (!TsInputType)
TsInputType = KdAllocInputType ();
for (mi = kdMouseInfo; mi; mi = next)
{
next = mi->next;
......@@ -151,14 +174,25 @@ TslibInit (void)
break;
}
}
} else {
if(!(tsDev = ts_open(mi->name,0)))
continue;
ts_config(tsDev);
fd=ts_fd(tsDev);
}
if (fd > 0 && tsDev != 0)
{
mi->driver = (void *) fd;
mi->inputType = TsInputType;
if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
n++;
if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
n++;
/* Set callbacks for vt switches etc */
KdRegisterFdEnableDisable (fd, TslibEnable, TslibDisable);
}
else
if (fd > 0) close(fd);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment