I'm hoping to start a discussing in the interests of incorporating MPX support into XMonad.
Xorg-server 1.7 has just incorporated MPX support. More details can be found at http://lwn.net/Articles/283957/
As a first, more than one window would have to be active at a time
To model keyboard focus in the case of multiple pointers:
Only the core pointer receives input
All pointers receive input
Toggle keyboard input between pointers
Promote keyboard input to the core pointer
Which probably becomes more convoluted with multiple keyboards.
On #xmonad aavogt suggested:
16:27 < aavogt> perhaps a reasonable solution is to keep one stackset per keyboard/mouse pair
16:28 < aavogt> ie. windowset :: XState -> [StackSet a b c d e]
16:30 < aavogt> then most operations just need another fmap thrown in there
16:31 < aavogt> that will have strange consequences for when mice/keyboards focus the same window (how do we show
that for the border color?)
16:32 < aavogt> I guess an average or sum of colors could do: red + blue -> purple
There is already some documentation regarding MPX at http://wiki.x.org/wiki/Development/Documentation/MPX?highlight=%28mpx%29 (I have a feeling it might be out of date)
It's probably not enough, so requests for more documentation might need to be formalized.
MPX can be tested by separating touchpads/trackpoints out of the core pointer (assuming xorg-server >= 1.7). However MPX most likely shines with finger-touch devices.