3 #include <libevdev/libevdev-uinput.h>
8 struct libevdev
*dev
= libevdev_new();
9 libevdev_set_name(dev
, "mouse-wiggle");
10 libevdev_enable_event_type(dev
, EV_REL
);
11 libevdev_enable_event_code(dev
, EV_REL
, REL_X
, NULL
);
12 libevdev_enable_event_code(dev
, EV_REL
, REL_Y
, NULL
);
13 libevdev_enable_event_type(dev
, EV_KEY
);
14 libevdev_enable_event_code(dev
, EV_KEY
, BTN_LEFT
, NULL
);
15 libevdev_enable_event_code(dev
, EV_KEY
, BTN_MIDDLE
, NULL
);
16 libevdev_enable_event_code(dev
, EV_KEY
, BTN_RIGHT
, NULL
);
18 struct libevdev_uinput
*uidev
;
19 err
= libevdev_uinput_create_from_device(
21 LIBEVDEV_UINPUT_OPEN_MANAGED
,
24 if (err
!= 0) goto err
;
28 err
= libevdev_uinput_write_event(uidev
, EV_REL
, REL_X
, 1);
29 if (err
!= 0) goto err
;
30 libevdev_uinput_write_event(uidev
, EV_SYN
, SYN_REPORT
, 0);
31 if (err
!= 0) goto err
;
35 err
= libevdev_uinput_write_event(uidev
, EV_REL
, REL_X
, -1);
36 if (err
!= 0) goto err
;
37 libevdev_uinput_write_event(uidev
, EV_SYN
, SYN_REPORT
, 0);
38 if (err
!= 0) goto err
;
42 fprintf(stderr
, "uinput error!\n");
45 libevdev_uinput_destroy(uidev
);