void logEvent(struct input_event* ev) { char defaultCodeString[64]; sprintf(defaultCodeString, "%X", ev->code); const char* scode = code2string(ev->type, ev->code, defaultCodeString); DOUT((s64)ev->time.tv_sec << " " << (s64)ev->time.tv_usec << " " << type2string(ev->type) << " code:" << scode << " val:" << ev->value); /* if(ev->type != EV_ABS) { printf("%d %d %s code:%s val:%d \n", ev->time.tv_sec, ev->time.tv_usec, type2string(ev->type), scode, ev->value); } else if(ev->type) { const char* abscode = abscode2string(ev->code); printf("%d %d %s code:%s val:%d \n", ev->time.tv_sec, ev->time.tv_usec, type2string(ev->type), abscode, ev->value); }*/ }
static void print_event(int fd) { size_t rb, yalv; /* the events (up to 64 at once) */ struct input_event ev[64]; rb=read(fd,ev,sizeof(struct input_event)*64); if (rb < (int) sizeof(struct input_event)) { fprintf(stderr, "Failed to get read event: %s\n", strerror(errno)); exit(-1); } for (yalv = 0; yalv < (int) (rb / sizeof(struct input_event)); yalv++) { if (EV_KEY == ev[yalv].type ) { // && ev[yalv].value == 1) { printf("%ld.%06ld ", ev[yalv].time.tv_sec, ev[yalv].time.tv_usec); printf("type %d code %d (%s) value %d (%s)\n", ev[yalv].type, ev[yalv].code, code2string(ev[yalv].code), ev[yalv].value, value2string(ev[yalv].value)); } } }