Henry that’s pretty awesome. There’s two important things I’ve learned from your system:
The Eye Tracker 4C’s head tracking isn’t as precise and responsive as the TrackIR, and wouldn’t be very good for a combo system. I was planning on buying one to test this, but now I don’t have to. I might still buy one anyway though because of the other better things, like lower CPU load for plain eye tracking.
Somehow your EyeX works in combination with the TrackIR. I wrote off this approach because when I tried the TrackIR with my Eye Tribe tracker it got totally broken by the extra glints the lights in the TrackIR created in my eyes. I forget if I tested it with the EyeX as well and it didn’t work, or just totally wrote it off as fundamentally incompatible with remote eye trackers. I’ll have to try again now, have you just never noticed any problems with this? This is awesome news because this (potentially imagined) incompatibility was the main roadblock for my using the system.
Also may I recommend you take a look at my https://github.com/trishume/PolyMouse project’s source code. I use an IMO better way of deciding when, how and where to warp the mouse cursor. It animates the cursor to the location (quickly) so your eyes don’t lose track of it, and only when you start to move your head. It also only animates it to the edge of a circle around the gaze point, so that it doesn’t overshoot and you never have to change directions of your head movement, only fine tune it into position. I’ve done a bunch of pointer speed testing experiments with myself and other participants that suggest this method is faster and more pleasant to use. I encourage you to adopt it, I think you’ll like it.
I can’t wait for Tobii to release the streaming API for OSX that they say is coming. Once that happens I’ll guaranteed buy a 4C and set up a mouse/head tracking system on OSX with it.
Email me at [email protected] if you have any questions.