- retval = read(touchdev, &event, sizeof(event));\r
- if (retval <= 0) {\r
- printf("touch read failed %i %i\n", retval, errno);\r
- return -1;\r
- }\r
- // this is to ignore the messed-up 4.1.x driver\r
- if (event.pressure == 0) zero_seen = 1;\r
-\r
- if (x) *x = (event.x * touchcal[0] + touchcal[2]) >> 16;\r
- if (y) *y = (event.y * touchcal[4] + touchcal[5]) >> 16;\r
- // printf("read %i %i %i\n", event.pressure, *x, *y);\r
-\r
- return zero_seen ? event.pressure : 0;\r
-}\r
-#else\r
-int gp2x_touchpad_read(int *x, int *y) { return -1; }\r
-#endif\r
-\r
-/* common */\r
-void gp2x_init(void)\r
-{\r
- printf("entering init()\n"); fflush(stdout);\r
-\r
- memdev = open("/dev/mem", O_RDWR);\r
- if (memdev == -1)\r
- {\r
- perror("open(\"/dev/mem\")");\r
- exit(1);\r
- }\r
-/*\r
- memregs = mmap(0, 0x01000000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0x48000000);\r
- if (memregs == MAP_FAILED)\r
- {\r
- printf("mmap(memregs) failed with %i\n", errno);\r
- exit(1);\r
- }\r
-*/\r
- fbdev = open("/dev/fb0", O_RDWR);\r
- if (fbdev == -1)\r
- {\r
- perror("open(\"/dev/fb0\")");\r