Surfnet logo

GestureToolkit: Device Independent Toolkit for Multi-Touch Gesture Recognition and Testing

This is a completed project.


Within the domain of human computer interaction, touch has been considered an interaction medium for an extensive period of time. Until recently however, it was limited to recognizing single touch interactions such as selecting options or entering numbers in kiosk systems in banks, stores, etc.: Touch was basically treated as a mouse replacement.

Recent innovations in multi-touch devices, have initiated new opportunities for computer interaction that are fundamentally intuitive and natural. As these devices become increasingly affordable, it is essential to create new applications and extend existing ones to support touch-based interaction. However, due to lack of standard APIs and frameworks, developers a facing a number of challenges including:

  • Lack of standard APIs that would work across different multi-touch devices
  • Insufficient high level frameworks that could simplify the development process of touch interactions
  • Lack of automated testing frameworks

We are developing GestureToolkit to address these issues. Our goal is to simplify the development and testing complexities of multi-touch applications. The toolkit is written in C# using .NET Framework. It currently supports WPF 4.0 and Silverlight. The key features of GestureToolkit are:

  • Gesture recognition system
  • A DSL to define custom gestures
  • Tools to simulate touch interactions
  • A framework to write automated tests for gestures
  • Consistent visual feedback across devices, and
  • Extensibility framework to add new device and features

For more information and a download link, please see GestureToolkit at Codeplex.

Toolkit documentation