9 #include <linux/input.h>
11 int read_all(int fd, char *buf, int count)
14 while (n_read != count) {
15 int result = read(fd, buf + n_read, count - n_read);
25 int main(int argc, char *argv[])
28 struct input_event ev;
38 assert(16 == sizeof(struct input_event));
41 fprintf(stderr, "missing /dev/input/XXX\n");
47 if ((fd = open(argv[1], O_RDONLY)) == -1) {
52 while (! (x_got && y_got && z_got)) {
54 int ret = read(fd, (char *) &ev, sizeof(struct input_event));
55 if (ret != sizeof(struct input_event)) {
56 fprintf(stderr, "ret == %d\n", ret);
60 if (ev.type==3 && ev.code==16) {
64 if (ev.type==3 && ev.code==17) {
68 if (ev.type==3 && ev.code==10) {
72 if (time(0) > start+timeout) break;
77 if (x_got && y_got && z_got) {
78 printf("%d %d %d\n",x_value,y_value,z_value);
80 fprintf(stderr, "data not aquired until timeout");