how to get fake input events to a Xinput2 master device?

Christian Beier beier at
Fri Nov 21 16:52:48 PST 2008

Hi there!

My first post on this list...

I am currently trying to create a networked multi-user collaboration
environment, based on Peter Hutterers great MPX (for the multi user
part) and x11vnc (networking) as part of a university project.

So far i've got MPX up and running, the question i now have is:
How can i make x11vnc create a new Master Device (or Slave Device) for
each connected client and route this client's input events to the
corresponding master device?

So far i see two possibilities:

(1) Master Devices created on the fly:
I know it's possible to create MD's via xinput, but i've got no idea
how to get application-generated events (from x11vnc) to a specific
master device. Via XTEST maybe? But according to there's no way to address a
specific master device. I've read the Xlib docs as well and found
nothing on that. The Xinput docs weren't fruitful neither... But I'm
sure there must be a way to do it in userspace?

(2) Fake Slave Devices
If there's no way of doing things like in (1), i would have to rely on
faking slave devices and attach these to master devices. As a slave
device represents a physical device, i think there's no way of creating
one via xinput. So i thought about sth. like creating a SD with the
uinput kernel driver and making it known to hal. Or maybe via the evdev
driver and pointing it to a device file that gets fed from x11vnc?

Everything not soo nice, i _really_ think it must be possible to do it
without root privileges, somehow like (1)...

Thank you all very much for any help on this,


what is, is;
what is not is possible.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <>

More information about the xorg mailing list