psyopper
July 9th, 2008, 04:15 PM
Saw this on Phoronix this morning:
http://www.phoronix.com/scan.php?page=news_item&px=NjU4MA
Which led me to the developers blog:
http://who-t.blogspot.com/2008/07/compiz-with-mpx-support.html
Part two of my June work for the Uni/CSIRO was to modify compiz to support multiple input devices.
Get it now from git://people.freedesktop.org/~whot/compiz.git, checkout the mpx branch.
The approach I took was fairly simple: in core, replace some functions (e.g. pushScreenGrab) with a device-specific one (pushDeviceGrab). This was done throughout the whole of compiz, and instead of core events, compiz now listens for XI events. In the plugins, replace the single variables with arrays/lists large enough for each device.
For the move/resize plugins I had to use an additional hack - the window decorator tells compiz over ICCCM that a resize/move operation has started. The ICCCM message doesn't include device ids and doesn't have any free bytes to stuff them in. The solution I found was to simply query all devices and find the one closest to the reported position - with the button 1 down.
The work is not finished with many details missing, but the core is there. I won't be able to continue on it as it was a project written under quite some time pressure and that time is up now.
I encourage you to take it and finish it off, it would be good to see a real window manager supporting XI2. If you have any questions about how to continue, pop me an email.
Sadly the dev didn't coordinate his branch on the compiz-git instead deciding to go on his own. Hopefully a core dev sees this and decides it's worth incorporating. Some day I'll own an eee 901 and I'll have a touch screen into it. This would be the perfect follow on to that project. Plus with Nvidia's system on a chip that can do 3d rendering and play Quake III coming soon I see a large-ish number of handhelds that could really take advantage of this.
I would offer to do it myself but I don't know jack about coding, and even if I was a little competent I would not dare to think about touching Compiz core...
http://www.phoronix.com/scan.php?page=news_item&px=NjU4MA
Which led me to the developers blog:
http://who-t.blogspot.com/2008/07/compiz-with-mpx-support.html
Part two of my June work for the Uni/CSIRO was to modify compiz to support multiple input devices.
Get it now from git://people.freedesktop.org/~whot/compiz.git, checkout the mpx branch.
The approach I took was fairly simple: in core, replace some functions (e.g. pushScreenGrab) with a device-specific one (pushDeviceGrab). This was done throughout the whole of compiz, and instead of core events, compiz now listens for XI events. In the plugins, replace the single variables with arrays/lists large enough for each device.
For the move/resize plugins I had to use an additional hack - the window decorator tells compiz over ICCCM that a resize/move operation has started. The ICCCM message doesn't include device ids and doesn't have any free bytes to stuff them in. The solution I found was to simply query all devices and find the one closest to the reported position - with the button 1 down.
The work is not finished with many details missing, but the core is there. I won't be able to continue on it as it was a project written under quite some time pressure and that time is up now.
I encourage you to take it and finish it off, it would be good to see a real window manager supporting XI2. If you have any questions about how to continue, pop me an email.
Sadly the dev didn't coordinate his branch on the compiz-git instead deciding to go on his own. Hopefully a core dev sees this and decides it's worth incorporating. Some day I'll own an eee 901 and I'll have a touch screen into it. This would be the perfect follow on to that project. Plus with Nvidia's system on a chip that can do 3d rendering and play Quake III coming soon I see a large-ish number of handhelds that could really take advantage of this.
I would offer to do it myself but I don't know jack about coding, and even if I was a little competent I would not dare to think about touching Compiz core...