All pastes #36292 Raw Edit

ph5

public text v1 · immutable
#36292 ·published 2006-01-09 20:27 UTC
rendered paste body
#include <stdio.h>#include <linux/input.h>#include <sys/ioctl.h>#include <fcntl.h>/*struct input_event {        struct timeval time;        unsigned short type; // EV_REL, REL_KEY        unsigned short code; // REL_X KEY_BACKSPACE        unsigned int value;};*/int main (int argc, char *argv[]) {	FILE *f;	struct input_event e;	int fd;	char name[256] = "";	fd = open (argv[1], O_RDWR | O_NONBLOCK);	if (fd == -1) exit (1);	ioctl (fd, EVIOCGNAME (sizeof(name)), name);	printf ("\"%s\"\n", name);	close (fd);	if (!(f = fopen (argv[1], "r"))) exit (1);	do {		if (fread (&e, sizeof(e), 1, f) != 1) break;		printf ("%d\t", e.time);		switch (e.type) {			case EV_SYN: printf ("EV_SYN"); break;			case EV_KEY: printf ("EV_KEY"); break;			case EV_REL: printf ("EV_REL"); break;			case EV_ABS: printf ("EV_ABS"); break;			case EV_MSC: printf ("EV_MSC"); break;			case EV_LED: printf ("EV_LED"); break;			case EV_SND: printf ("EV_SND"); break;			case EV_REP: printf ("EV_REP"); break;			case EV_FF:  printf ("EV_FF "); break;			case EV_PWR: printf ("EV_PWR"); break;			case EV_FF_STATUS: printf ("EV_FF_STATUS"); break;			case EV_MAX: printf ("EV_MAX"); break;			default:     printf ("%04x", e.type); break;		}		printf ("\t");		printf ("%04x\t%d\n", e.code, e.value);	} while (1);	fclose (f);	return 0;}