Mercurial > sdl-ios-xcode
view touchTest/testIn.c @ 4669:62e6a6e9720b
Fixed x11 compile bugs.
author | jimtla |
---|---|
date | Thu, 22 Jul 2010 08:12:28 +0400 |
parents | f5cd4b6231ba |
children |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <dirent.h> #include <linux/input.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/select.h> #include <sys/time.h> #include <termios.h> #include <signal.h> void handler (int sig) { printf ("\nexiting...(%d)\n", sig); exit (0); } void perror_exit (char *error) { perror (error); handler (9); } int main (int argc, char *argv[]) { struct input_event ev[64]; int fd, rd, value, size = sizeof (struct input_event); char name[256] = "Unknown"; char *device = NULL; //Setup check if (argv[1] == NULL){ printf("Please specify (on the command line) the path to the dev event interface device\n"); exit (0); } if ((getuid ()) != 0) printf ("You are not root! This may not work...\n"); if (argc > 1) device = argv[1]; //Open Device if ((fd = open (device, O_RDONLY)) == -1) printf ("%s is not a vaild device.\n", device); //Print Device Name ioctl (fd, EVIOCGNAME (sizeof (name)), name); printf ("Reading From : %s (%s)\n", device, name); while (1){ if ((rd = read (fd, ev, size * 64)) < size) perror_exit ("read()"); printf("time: %i\n type: %X\n code: %X\n value: %i\n ",ev[0].time,ev[0].type,ev[0].value,ev[0].value); value = ev[0].value; if (value != ' ' && ev[1].value == 1 && ev[1].type == 1){ // Only read the key press event printf ("Code[%d]\n", (ev[1].code)); } } return 0; }