Rearchitecture PS2KB driver using event buffers
This commit is contained in:
@ -21,12 +21,8 @@ void tb_runinitscript(void) {
|
||||
r = ipcpipe(tb, IPCPIPE_OUT, IPCPIPE_READ, (uint8_t *)buf, sizeof(buf)-1);
|
||||
if (r > 0) {
|
||||
devctl(&termdev, DEV_TERMDEV_PUTCH, (uint8_t *)buf, string_len(buf), 0);
|
||||
}
|
||||
|
||||
r = devctl(&ps2kbdev, DEV_PS2KBDEV_READCH, NULL, 0, 0);
|
||||
if (r != E_NOTYET) {
|
||||
uint8_t b = r;
|
||||
ipcpipe(tb, IPCPIPE_IN, IPCPIPE_WRITE, &b, 1);
|
||||
} else {
|
||||
schedrelease();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -34,6 +30,7 @@ void tb_runinitscript(void) {
|
||||
void main(void) {
|
||||
PID = (uint64_t)processctl(-1, PCTL_GETPID, 0, 0, 0);
|
||||
devctl(&ps2kbdev, DEVCTL_GET_HANDLE, (uint8_t *)"ps2kbdev", 0, 0);
|
||||
devctl(&ps2kbdev, DEV_PS2KBDEV_ATTCHCONS, (uint8_t *)PID, 0, 0);
|
||||
|
||||
tb_runinitscript();
|
||||
|
||||
|
Reference in New Issue
Block a user