Mercurial > sdl-ios-xcode
comparison touchTest/parseDevicesTest.c @ 4645:0375d020e7e3
Auto-detects Wacom touch devices.
author | Jim Grandpre <jim.tla@gmail.com> |
---|---|
date | Mon, 31 May 2010 00:24:37 -0400 |
parents | |
children | eea1bf53effa |
comparison
equal
deleted
inserted
replaced
4644:fb500b3e1717 | 4645:0375d020e7e3 |
---|---|
1 #include <stdio.h> | |
2 #include <stdlib.h> | |
3 #include <linux/input.h> | |
4 | |
5 | |
6 int main(int agrc,char **argv) | |
7 { | |
8 FILE *fd; | |
9 fd = fopen("/proc/bus/input/devices","r"); | |
10 | |
11 char c; | |
12 int i = 0; | |
13 char line[256]; | |
14 char tstr[256]; | |
15 int vendor = -1,product = -1,event = -1; | |
16 while(!feof(fd)) { | |
17 fgets(line,256,fd); | |
18 //printf("%s",line); | |
19 if(line[0] == '\n') { | |
20 if(vendor == 1386){ | |
21 printf("Wacom... Assuming it is a touch device\n"); | |
22 sprintf(tstr,"/dev/input/event%i",event); | |
23 printf("At location: %s\n",tstr); | |
24 | |
25 | |
26 } | |
27 vendor = -1; | |
28 product = -1; | |
29 event = -1; | |
30 } | |
31 else if(line[0] == 'I') { | |
32 i = 1; | |
33 while(line[i]) { | |
34 sscanf(&line[i],"Vendor=%x",&vendor); | |
35 sscanf(&line[i],"Product=%x",&product); | |
36 i++; | |
37 } | |
38 } | |
39 else if(line[0] == 'H') { | |
40 i = 1; | |
41 while(line[i]) { | |
42 sscanf(&line[i],"event%d",&event); | |
43 i++; | |
44 } | |
45 } | |
46 } | |
47 | |
48 close(fd); | |
49 return 0; | |
50 } |