An idea that would fall under rio and interfaces;

Replace mouse with movement.  Have the usual X and Y, but also add a Z, which would be equivalent to something like pinch-zoom on a phone.  And also have rotation around an axis, so that a mouse wheel would be interpreted as rotating around the X axis.  Have movement accept absolute and relative inputs, so it works with touch screen and wacom tablets, or mice and joysticks.  Multiple device inputs can go in, and the interface would read out 6 degrees of movement.

Than have all buttons come from a single button server.  That way you can map the extra buttons on modern mice, or take input from an on-screen keyboard to be read of key presses by another process.

And have both movement and buttons listed in /srv, and let other devices import them.  So you can have a tablet's touchscreen used as a pointing device at a desktop.

And with that, work could then be done on alternative graphical interfaces without being tied to the traditional keyboard and 3 button mouse.