Multitouch support is an integrated part of libavg. The framework is made for fast device-independent multitouch development, supports all major multitouch driver models and has multitouch-oriented event handling features. The extensive support for gesture recognition and the unique contact-based touch API are described under Touch Input.

If you are running Ubuntu 11.04 or later, libavg and some multitouch games are available as packages.

Additional Information

There is lots of additional information in our scientific publications:

Driver Support

libavg handles multitouch events delivered by all major driver subsystems and comes with its own multitouch tracker as well. The supported driver architectures are:

  • TUIO: TUIO is a de-facto standard protocol for multitouch events. It is supported by almost all open-source tracking libraries.
  • Linux: Linux tracking is supported using libmtdev and XInput 2.1 or later, so all multitouch devices supported by the linux kernel work. XInput (available under Ubuntu 11.04 and later) needs no additional setup. For libmtdev, refer to the LibMTDev setup notes.
  • Windows 7: libavg supports Windows 7 touch events for multitouch input.
  • Internal Tracker: libavg has a built-in tracker that works with FTIR and DI setups. Setup notes are on the Camera Tracking page. Note: The internal tracker is deprecated and has been removed from the development version, since there are better libraries available (e.g. CCV).

Refer to the reference for details on how to set up multitouch handling.

Event Handling

Since multitouch is an integrated part of the framework, all libavg Event handling features work with multitouch events as well. Multitouch events are automatically routed to the correct nodes and event capture works as well. In addition, there is a manipulation API that helps you build direct-manipulation NUI-style interfaces (see Touch Input).


libavg multitouch support was originally developed for the c-base MTC in 2006. If you'd like to build your own hardware, the article helps. We also have an older construction howto.