Simulate Windows Touch with TUIO drivers for the Wacom Bamboo
Many people have been looking for an easy and cheap way to simulate Windows Touch and I recently discovered a project called Bamboo TUIO. This project lets you generate TUIO messages from a Wacom Bamboo tablet. Now, rather conveniently, the Multitouch Vista project supports input simulation using TUIO messages. So, by combining these projects, you can simulate multitouch in Windows 7.
Before getting into the instructions I want to emphasize that this is not an official solution for Windows touch and is not a well-supported way to develop Windows Touch applications. This will only simulate multitouch in Windows 7 so getting into reasonable interface design is not going to be the outcome of this. However, you could conceivably use this solution for testing if you don't have enough hardware for all your developers and testers. Also, multitouch on the Bamboo is limited to 2 fingers and isn't very accurate. The specific Bamboo model that I'm using is a Pen and Touch model CTH-460.
The following video shows me following my instructions, note that everything didn't work for me the first time, just some uninstalling and reinstalling the drivers and resetting my PC solved the issue, but it just showed it's not a well supported scenario:
Before you start, grab the following packages:
- Wacom Bamboo 5.2.1-6 driver
- Bamboo TUIO Package
- TUIO smoke
- Multitouch Vista
- TouchFun Test Application (Alternate Version)
First, you will need to get the Bamboo working from within Windows using the correct version of the Bamboo driver. Install the Wacom Bamboo 5.2.1-6 driver. This should require a restart of your PC.
After your PC has rebooted and the driver is working, you are ready to test the TUIO package. Extract the Bamboo TUIO package to your computer. Right click on Bamboo-TUIO.exe and run as administrator. If everything is working, you will see a debugging visual in Bamboo-TUIO. If you see the message "Opening WTouchUser.exe...... failed!" then you didn't run as administrator. If you see the error "can't find touch points" it means that you have the wrong driver installed. I have also noticed that rebooting your computer and trying to reopen the application sometimes helps.
Once you have the Bamboo TUIO driver working, it's time to test that TUIO is working. Extract the smoke demo to your desktop. Run tuiosmoke.exe and then when you touch on your bamboo, it should make colored swirls appear on the app.
Now that you have the Bamboo TUIO driver working, it's time to set up the multitouch vista driver. Extract the driver to your desktop. Run an admin command prompt and navigate to the driver folder (x32 or x64, depending on your Windows 7 install). Once in the folder, run "Install driver.cmd" and it will install the driver. Then you must go to the device manager (right click on computer in the start menu or press start+break) and select Device Manager. Disable / Enable the "Universal Software HID device" from the Human Interface Devices tree. Open the pen and touch control panel by clicking the start menu and typing pen and touch. From here you can verify that the driver installed correctly because the Touch menu should have a "Enable multi-touch gestures and inking" menu.
Next, start the service by running "Multitouch.Service.Console.exe" with administrator privileges from the multitouch vista project. Next, start the driver console by running "Multitouch.Driver.Console.exe" with admin privileges. Next, you will switch the driver to TUIO input by running "Multitouch.Configuration.WPF.exe" as an administrator. Change the service to use TUIO. Note: Unlike the mouse driver, the TUIO driver does not draw red dots for touch points.
Now, you should see inertia in your web browser when you scroll and are ready to test multitouch from a real Windows application. I have taken a demo that you can use for this, TouchFun.exe and uploaded it to my server. When you run the app in full screen and it recognizes your touches, you are set with simulating multitouch using Bamboo-TUIO and multitouchvista.