Tuesday, 3 November 2009

Testing Windows 7 Multi-touch with Multi-Touch Vista

Since Windows 7 has been officially released and some of the built-in application already support the multi-touch features, it is a waste if you do not test it out. But how?

If you have an extra mouse, then you are good to go. The idea is to simulate multiple touch points with multiple mice using Multi-Touch Vista.

1. First go to Multi-Touch Vista Download Section and download the Recommended Download. The current file as of 3/11/2009 is "MultiTouchVista - second release - refresh 2.zip".

2. Extract the zip file to a folder easily accessible.

3. Go into the "Driver" folder and then select "x32" if you are using 32 bit Windows like me (don't go into it, just select it).

4. Make sure "x32" is already selected, then press "Shift" while right clicking on the "x32" folder. Select the "Open command window here". (Update: the latest version you need to open the command window as Administrator, check here)

5. In the command prompt, press "tab" a few times until you see "Install driver.cmd" and press "Enter". Answer "Yes" for User Account Control.

6. Now you can close the command window and go to "Control Panel" and then "Device Manager".

7. Expand the Human Interface Devices. Right click on "Universal Software HID device" and select "Disable", answer "Yes" for the prompt. Then "Enable" it again. This actually did a reload and the driver should already start working. To confirm that, go to "Control Panel" and then "System" to check that "Pen and Touch:" is "Touch Input Available with 255 Touch Points".

Then proceed with either one of the following:

8a. To run Multi-touch application created with Multi-Touch Vista Framework, go to the Multi-Touch Vista folder extrated earlier, find "Multitouch.Service.Console.exe" and double click to run it. The default input is already set to MultipleMice, so you can see red dot moving together with the mouse but it will not be at the same location at the mouse cursor. You still have to use the regular mouse cursor to interact with the windows as the red dot will only interact with applications created using Multi-Touch Vista Framework. You can try creating a "Hello World!" by refering to this tutorial. Whenever you are adding mouse or removing mouse, you have to restart "Multitouch.Service.Console.exe".

8b. To test Multi-touch features in Windows 7, first go to the Multi-Touch Vista folder extrated earlier, find "Multitouch.Service.Console.exe" and double click to run it. You should see red dot corresponding to the mouse cursor (probably not at the same location). Now go to the same folder (use the regular mouse cursor, the red dot doesn't interact with Windows yet) and find "Multitouch.Driver.Console.exe", double click and run it.

Now Multitouch driver should be running, but the original mouse cursor still dominating. Now go to the same folder and find "Multitouch.Configuration.WPF.exe", double click and run it. Click on "Configure device", tick on the empty box for "Block native windows mouse input....". and press "Ok". Now the red dot can finally interact with the Windows. Some of the things to try you can refer to the paragraph after 8c.

To stop it (sometimes mouse interaction totally gone after testing for a long time), use "alt-tab" to reach the two command windows and press "Enter" to end them.

8c. To make life easier so that we do not need to run so many executables, we can install the steps in 8b as Windows service. Please make sure you did step 8b and it is working perfectly (this is assuming you have ticked the "Block native window mouse input...". Go to Search and search for "Command Prompt", right click on the "Command Prompt" and select "Run as administrator". Change directory (cd) to the Multi-Touch Vista folder extrated earlier, and run "C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe /i Multitouch.Driver.Service.exe" (try to use tab to avoid typo). If later you want to uninstall, run "C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe /u Multitouch.Driver.Service.exe" instead. Now go to "Control Panel", then "Administative Tools" then "Services" (it is faster just to search for "Services"), you should see "Multitouch driver" listed. The default startup type is "Manual", so to start just right click and select "Start" and you should see the red dot. If you notice the regular mouse cursor is still dominating, run "Multitouch.Configuration.WPF.exe" to tick on the "Block native windows mouse input....". Once again, whenever you are adding mouse or removing mouse, you have to restart the service.a

Some of the Windows 7 multi-touch features to test on is
1. Paint

2. Internet Explorer or Firefox Browser
Zoom in and zoom out.
3. Activate the software keyboard on the left edge of the Windows and type using it.
4. Write your own Multi-touch application refering to Windows Touch: Developer Resources

The above steps to install the driver is actually extracted from the following video but I have to do some minor modification due to newer version.


k3vIn said...

yep, got it! Working now~:p

Devolper .NET said...

Nice Tutorial..
But can you Help me Plz
I tried it Some Time Before atthat timeit was working But Now Everything is Going Fine But No Input is going to the Touch Device Red Dots are appearring But they are not working as touch point and my system showing Touch Inout is Avalable