Eye-Tracking Universal Driver (ETU-Driver) have been developed as a software layer to be used between actual eye tracker driver and end-user application to provide device-independent data access and control. The ETU-Driver consists of a COM objects that implements the interface common for all eye trackers and a set of supporting DLL libraries (API-Converters), which "convert" original manufacturer's APIs into a common API used by ETU-Driver. The benefit of using ETU-Driver comes from the fact that any end-user application implemented on top of ETU-Driver can access data from a newly installed eye tracker simply by copying a corresponding API-converter to the ETU-Driver installation folder.

This tool was developed within WP2 of COGAIN (IST Network of Excellence). So far, ETU-Driver is able to access the following eye trackers:

Additionally, 3 simulators can be used for debugging or quick-demo purposes:

Optionally, you can download and install Microsoft Windows Media Encoder 9 to enable screen recording during tracking (see Microsoft WME home page for the related information).

ETU-Driver can be accessed in a browser (JavaScript) via WebSocket. The "ETU-Driver service" application shipping within the installation package acts as a WebSocket server when the flag "Tracking > WebSocket server" is set on. The example of using gaze on web is found in "Start > University of Tampere > ETU-Driver > Tutorials > Web > WebSocket", see the files "gazeHighlight.html" and "gazeHighlight.js"

Additional tools


This is a JavaScript library that allows developing very easily gaze-controlled and gaze-aware web-pages. It is located on the GitHub. See the examples there to get ideas of how and for what the library can be used. See the readme and comments in the JS file for the feature-by-feature explanation of the library configuration. Feel free to report bugs, pull requests, or contact the author if you wish to help in improving the library or just having troubles with configuring the "etudriver-web" due to the poor documentation.

Examples of using etudriver-web


ETU-Driver can be accessed in a browser (JavaScript) after installing its NPAPI plugin for browsers. Google Chrome is a preferable browser to use, as it correctly handles memory leaks that the plugin may cause after page is unloaded.

Examples of using ETUDPlugin:

Known problems and tips
The installation package misses Tobii API libraries (tet.dll, tetcomp.dll and ttime.dll), therefore some Tobii product (e.g. Tobii SDK) must be installed to make Tobii eye trackers accessible by ETU-Driver.

Tobii Studio 3.x comes with libraries that are not compatible with ETU-Driver ("Tobii T/X")
Third-party tools developed and studies conducted by external researchers using ETU-Driver
Gazzilion Browser
GazeShare - Eclipse IDE Plugin
TightVNC (Multigaze framework)

DOGeye: Controlling your home with eye interaction
Invisible eni: using gaze and pupil size to control a game
Eye Tracking Universal Driver ETUDriver ETU-Driver gaze based controlled contingent application development COM SDK API tool middleware cross device independent COGAIN ITU GazeTracker Haytham The Eye Tribe ET-1000 LC EyeGaze Ergoneers Dikablis SR EyeLink SMI iViewX RED-m Tobii Technologies TET Server 1750 P10 D10 T60 T120 X120 eye tracker standard eye movements gathering gaze data streaming acquisition collecting capturing control mouse emulation simulator
To do
Full functionality set for ITU GazeTracker API-converter.