-static void analog_init(void)
-{
- int i, nub;
-
- fdnub[0] = fdnub[1] = -1;
-
- for (i = nub = 0; nub < 2; i++)
- {
- long absbits[(ABS_MAX+1) / sizeof(long) / 8];
- int ret, fd, support = 0;
- char name[64];
-
- snprintf(name, sizeof(name), "/dev/input/event%d", i);
- fd = open(name, O_RDONLY|O_NONBLOCK);
- if (fd == -1) {
- if (errno == EACCES)
- continue; /* maybe we can access next one */
- break;
- }
-
- /* check supported events */
- ret = ioctl(fd, EVIOCGBIT(0, sizeof(support)), &support);
- if (ret == -1) {
- printf("pandora: ioctl failed on %s\n", name);
- goto skip;
- }
-
- if (!(support & (1 << EV_ABS)))
- goto skip;
-
- ret = ioctl(fd, EVIOCGNAME(sizeof(name)), name);
- if (ret == -1 || strncmp(name, "nub", 3) != 0)
- goto skip;
-
- ret = ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absbits)), absbits);
- if (ret == -1)
- goto skip;
- if ((absbits[0] & ((1 << ABS_X)|(1 << ABS_Y))) != ((1 << ABS_X)|(1 << ABS_Y)))
- goto skip;
-
- printf("pandora: found analog #%d \"%s\"\n", nub, name);
- fdnub[nub++] = fd;
- continue;
-
-skip:
- close(fd);
- }
-
- if (nub != 2)
- printf("pandora: warning: not all nubs found: %d\n", nub);
-
- analog_init_done = 1;
-}
-
-void in_update_analogs(void)