MT, Linux, and other stuff

Ryan Huffman

Quick Update

with 2 comments

I realize I haven’t posted any updates lately, but I am sort of waiting to have one *big* update.  This won’t be that big update, but I’d like to at least give a quick rundown of what I have been up to since the last update.

Driver Update

There isn’t a whole lot to say here, but there is one big one:

Dynamic SubDevice Creation

An option that has been created is for dynamic subdevice creation.  The idea is that because there are a limited number of TUIO subdevices to send events through, there is an inherent limit to the number of unique TUIO cursors or blobs that can be represented or pushed through the X input system at any given time.  This means that if there are 5 subdevices that the TUIO driver is using to send events through, and 6 active blob or cursor ids, only 5 of those will have events being sent through a subdevice; the 6th has to wait for a new subdevice to be available before it can start sending X events.  The dynamic subdevice creation option allows new subdevices to be created when this limit is reached.

Freeglut

In the last post I mentioned changing the input layer of certain multitouch applications so that they would be XI2 compatible; shortly thereafter I had success using the mpx patch posted here.  The patch adds several new callbacks that can that can be registered with freeglut and used to receive multi pointer events.  For the most part they just add an extra device id parameter to the usual mouse_entered, mouse_pressed, etc. events.  Using this patch it was fairly simple to port the popular tuiosmoke application to be XI2 compatible.  I haven’t actually posted the patch for this yet, but I will by the end of this project.  I would also be willing to write a quick post on using the new freeglut callbacks if anyone is interested.

TMD (TUIO Monitor Daemon)

I have written a daemon that will connect to X and listen for any hierarchy events – namely, Master Add and Slave Add events.  Upon receiving a slave add event, the daemon will see if it a TUIO subdevice, and if it is, create a new master pointer and reattach the new slave device to the new master pointer.  This was written to relieve the pain of manually making hierarchy changes so that TUIO subdevices were under their own master pointer.

XInput Manager

More recently I have been working on a GUI version of xinput that will have most of the features that the CLI app has.  Past hierarchy changes, it will be very useful for changing the properties of devices, and I hope it will also make it easier to sift through them.  I am developing this right now – I expect it will be available in beta form mid next week.

Conclusion

So there it is, a *very* quick rundown of what I have been up to.  I haven’t gotten any feedback yet from anyone who has tried any of my work out, so if you have, PLEASE let me know.  If anyone is interested in reading about one certain topic or another, let me know and I can make a post on it – I haven’t gotten any feedback, so it’s difficult to know if there is anything that anyone wants to read about (if anything).

If you aren’t too interested in reading all the development info and want to see results, keep an eye on the project news feed.  Late-August I expect to have a video showcasing the driver and interaction with XI2 applications.

I hope you are all convinced that I have been up to something over here :) .

Advertisement

Written by rhuffman

July 31, 2009 at 1:01 pm

Posted in MultiTouch

2 Responses

Subscribe to comments with RSS.

  1. Just to give some feedback and a thumbs up :)

    I added an rpm package of snapshot 3d345668be3bb60cf3994c412df8098aced9fdf6 to the CCux experimental repository (http://packages.ccux-linux.de/index.php?repository=experimental).
    A short test with Citron dreaMTouch monitor and QMTsim gave very good results (= it is running just fine) but I haven’t tested it extensively for bugs yet.

    Karsten Brockmann

    August 2, 2009 at 11:48 pm

    • Hi Karsten!

      Thanks for the feedback, it’s really great to hear that it is working for someone else. I have pushed a new driver revision recently that should work with the newest versions on the xorg git repos as well.

      Let me know if you run into any problems!

      Ryan

      rhuffman

      August 3, 2009 at 1:57 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.