Go to Touchtech website

Project Description
A useful set of classes that build on top of the Microsoft Surface 2.0 SDK. This project is developed and maintained by Touchtech.

Highlighted Classes

  • SurfaceEnvironmentHelper contains two methods for suppressing Surface Input. These can be used to force the Windows Touch events to be routed through standard WPF 4.0 input stack (WISPTIS) and not through the Microsoft Surface 2.0 SDK HID Input Provider. It is a known problem that Microsoft Surface 2.0 SDK HID Input Provider is not compatible with all Windows Touch drivers and these methods serve as a workaround for this. The SuppressSurfaceInputDemo project demonstrates how to use this class in the OnStartup() method of App.xaml.cs.
  • TouchExtensions contains methods that are related to Windows Touch events. Use the SurfaceEnvironmentHelper.TrySuppressSurfaceInput() in conjunction with TouchExtensions.TryEnableNativeTouch() to optimize WPF touch input performance on non-Surface devices.
  • The class OptimizedSurfaceWindow (which is a SurfaceWindow) automatically calls TouchExtensions.TryEnableNativeTouch() if Surface Input is suppressed. How to use OptimizedSurfaceWindow is demonstrated in the SurfaceSDKOptimizationDemo project (see App.xaml.cs and MainWindow.xaml.cs). For further information on how TouchExtensions.TryEnableNativeTouch() is called, please look at the source of the OptimizedSurfaceWindow class.


  • Blake.NUI (binary included in this project)

Last edited Mar 11, 2012 at 1:56 PM by SebHartman, version 27