I'm currently working adding uinput device creation to libevdev (patches for that soon), but to allow that I needed more access to the libevdev device so one can set up a device from scratch. Cheers, Peter