X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/5ea8e2ba737f903db81d49b56778e883634512a5..17fe1418db474b23d9f516db049772dfe3d8696c:/lunaix-os/kernel/demos/input_test.c diff --git a/lunaix-os/kernel/demos/input_test.c b/lunaix-os/kernel/demos/input_test.c index ebb9375..47e0081 100644 --- a/lunaix-os/kernel/demos/input_test.c +++ b/lunaix-os/kernel/demos/input_test.c @@ -1,7 +1,9 @@ #include #include #include +#include #include +#include #define STDIN 1 #define STDOUT 0 @@ -12,21 +14,26 @@ input_test() int fd = open("/dev/input/i8042-kbd", 0); if (fd < 0) { - write(STDOUT, "fail to open", 13); + printf("fail to open (%d)", geterrno()); return; } struct input_evt_pkt event; while (read(fd, &event, sizeof(event)) > 0) { + char* action; if (event.pkt_type == PKT_PRESS) { - write(STDOUT, "PRESSED: ", 10); + action = "pressed"; } else { - write(STDOUT, "RELEASE: ", 10); + action = "release"; } - char c = event.sys_code & 0xff; - write(STDOUT, &c, 1); - write(STDOUT, "\n", 2); + + printf("%u: %s '%c', class=0x%x, scan=%x\n", + event.timestamp, + action, + event.sys_code & 0xff, + (event.sys_code & 0xff00) >> 8, + event.scan_code); } return; } \ No newline at end of file