changed polling to use the "get id" command

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16922 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Marcus Overhagen
2006-03-29 20:06:31 +00:00
parent 76b895fb5c
commit 4c000f8856
@@ -84,16 +84,16 @@ ps2_service_probe_device(ps2_dev *dev)
if (dev->flags & PS2_FLAG_KEYB) {
res = ps2_dev_command(dev, PS2_CMD_ENABLE, NULL, 0, NULL, 0);
if (res == B_OK)
return B_OK;
// res = ps2_dev_command(dev, PS2_CMD_ENABLE, NULL, 0, NULL, 0);
// if (res == B_OK)
// return B_OK;
// snooze(25000);
// res = ps2_dev_command(dev, 0xee, NULL, 0, NULL, 0); // echo
// if (res == B_OK)
// return B_OK;
snooze(25000);
// snooze(25000);
res = ps2_dev_command(dev, PS2_CMD_GET_DEVICE_ID, NULL, 0, data, 2);
if (res == B_OK)
return B_OK;
@@ -116,20 +116,20 @@ ps2_service_probe_device(ps2_dev *dev)
}
} else {
res = ps2_dev_command(dev, PS2_CMD_ENABLE, NULL, 0, NULL, 0);
if (res == B_OK) {
if (!dev->active)
ps2_dev_command(dev, PS2_CMD_DISABLE, NULL, 0, NULL, 0);
res = ps2_dev_command(dev, PS2_CMD_GET_DEVICE_ID, NULL, 0, data, 1);
if (res == B_OK)
return B_OK;
}
if (!dev->active) {
snooze(25000);
res = ps2_dev_command(dev, PS2_CMD_GET_DEVICE_ID, NULL, 0, data, 1);
if (res == B_OK)
snooze(25000);
res = ps2_dev_command(dev, PS2_CMD_ENABLE, NULL, 0, NULL, 0);
if (res == B_OK) {
ps2_dev_command(dev, PS2_CMD_DISABLE, NULL, 0, NULL, 0);
return B_OK;
}
}
}
return B_ERROR;
@@ -167,7 +167,7 @@ ps2_service_thread(void *arg)
break;
}
} /*else if (status == B_TIMED_OUT) {
} else if (status == B_TIMED_OUT) {
// do periodic processing
int i;
@@ -181,7 +181,7 @@ ps2_service_thread(void *arg)
snooze(50000);
}
}*/ else {
} else {
dprintf("ps2_service_thread: Error, status 0x%08lx, terminating\n", status);
break;
}