#include
#include
#include
#include
#include
#include
#include
static int fd = -1;
static void send_event(int fd, int type, int code, int value, int sec, int usec);
static int setup(struct uinput_user_dev *dev, int fd)
{
]]>
0)
usleep(newtime - last_time);
if (write(fd, &event, sizeof(event)) < sizeof(event))
perror("Send event failed.");
last_time = newtime;
}
int main (int argc, char **argv)
{
if (init_uinput() < 0) {
fprintf(stderr,
"Failed to initialize /dev/input/uinput. Exiting.\n");
return -1;
}
printf("Device created. Press CTRL+C to terminate.\n");
run(fd);
cleanup_uinput();
return 0;
}
]]>
if (ioctl(fd, UI_SET_EVBIT, ) == -1) goto error;
if (ioctl(fd, UI_SET_KEYBIT, ) == -1) goto error;
if (ioctl(fd, UI_SET_RELBIT, ) == -1) goto error;
if (ioctl(fd, UI_SET_MSCBIT, ) == -1) goto error;
if (ioctl(fd, UI_SET_ABSBIT, ) == -1) goto error;
else {
int idx = ;
dev->absmin[idx] = ;
dev->absmax[idx] = ;
dev->absfuzz[idx] = ;
dev->absflat[idx] = ;
if (dev->absmin[idx] == dev->absmax[idx])
dev->absmax[idx]++;
}
strcpy(dev->name, "");
dev->id.bustype = ;
dev->id.vendor = ;
dev->id.product = ;
dev->id.version = ;
send_event(fd, , , , , );