Input Simulator

With the Microsoft Surface Input Simulator, you can use a mouse to simulate different kinds of touch input without a touch-enabled screen. You can use Input Simulator together with Microsoft Visual C# 2010 Express Edition (or Visual Studio 2010) to test Surface applications on a workstation other than the final end-user hardware that will run your application.

Touch Input Simulated

The following inputs (or touch devices) and hardware capabilities can be simulated by Input Simulator:

  • Finger input.

  • Blob input of different sizes.

  • Tag values.

  • The orientation of finger, blob, and tag input.

  • A limit on the number of touch devices recognized.

  • The tilt angle of the interactive surface.

It is recommended that you thoroughly test applications that use tough input and tags on a device made for Surface, under the lighting conditions that you expect. The Input Simulator tool gives you an idea of how your application will respond to touch input and tags under perfect conditions, so testing on a device made for Surface is essential.

How Input Simulator Works

Input Simulator opens from the Start menu and runs on top of Windows Shell. Your screen resolution must be set to 96 dots per inch (DPI) before starting Input Simulator.

The Input Simulator uses a virtual digitizer device to provide rich input to the system. While the virtual digitizer device is enabled, the system will get the hardware capability settings and receive input from the virtual digitizer device.

Both the Input Simulator and Surface Stress tools use the virtual digitizer device. However, they cannot share the device, so these two applications cannot be used at the same time. Usually, the device is enabled only while one of these applications is running. There may be situations when the virtual digitizer device may remain enabled, for instance, if the Input Simulator process is ended manually. In this case, the easiest way to disable the virtual digitizer device is to restart one of these tools and close it again.

To test your Surface application, run your application from Microsoft Visual Studio 2010, and then use the buttons in Input Simulator to select input types before using your mouse to stamp or move a touch point in your application window. For more information, see the following topics:

You can also use Input Simulator to simulate basic touch input in Windows Shell or any touch-enabled application that you can run on Windows 7. For example, you could use Input Simulator to test a Windows Touch application.

Input Simulator Limitations

Input Simulator does not simulate the Surface Shell. However, if you want to test how your application will appear on a device made for Surface, you can create a DWORD registry value, HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node]\Microsoft\Surface\v2.0\SDK\ForceSurfaceEnvironment, and set it to "1". For more information, see the IsSurfaceEnvironmentAvailable property.

Input Simulator does not simulate raw image input. If your application requires the use of raw image APIs like TryGetRawImage and UpdateRawImage, you must test it on a device made for Surface.

Input Simulator does not work over a Remote Desktop connection because the user session identifier is different than a local user scenario.

Did you find this information useful? Please send us your suggestions and comments.

© Microsoft Corporation. All rights reserved.