We have have the following guide to get you started in setting up both TouchKit hardware and software. Please post in our forum if you need additional assistance or have comments.

The TouchKit Run package comes with screen, camera, lens, infrared filter, power adapter, and firewire cable. For a complete multitouch system you will also need a recent (as in >5 year old) computer and a video projector. While we have setup the screen by leaning it against a stack of books in the past we definitely suggest properly mounting it into a table, wall, or on a stand for longer term use or application.

The setup process breaks down to:

  1. installing openframeworks
  2. installing ofxTouch
  3. compiling and running hello world
  4. mounting the screen
  5. positioning projector and camera
  6. going through calibration

Software Setup

The TouchKit API is implemented as an addon to OpenFrameworks. With "TouchKit API" we generally mean OpenFrameworks + ofxTouch. To get started developing TouchKit apps you will have to setup OpenFrameworks and add the ofxTouch addon to it. OF makes it easy to extend with additional libraries and ofxTouch is no exception to this.

The OpenFrameworks project comes with extensive setup guides for a wide variety of platforms and IDEs. At the moment we specifically support Xcode (mac) and Code::Blocks (windows). VC++ (windows) and Makefiles (linux) are expected to work but we currently do not supply these kind of project files for our example code. Consider linux as being in Beta.

For step one of the software part you will need to setup OpenFrameworks and get one of the included examples running. This should be very straight forward. Download the release for your preferred IDE and follow the corresponding setup guide. You will have the option between the normal and "FAT" version. Download the "FAT" version:

For step two add the ofxTouch addon. If you are familiar with OF addons expect nothing special here. Download the addon, unzip, and copy the ofxTouch folder to the addons folder of your OpenFrameworks installation.

For step three add the following code to ofAddons.h of your OF installation:

        #include "ofxTouchMain.h"

In your coding project make sure all the files in ofxTouch/src are included. Details are in ofxTouch's install.xml. Alternatively, as a step four, you can take any of the example projects we provide and use it as a starting point. Please post any cool apps to our forum. We always love to see what people make.

NOTE: On Windows you might have to install the Quicktime Player.

Hardware Setup

It's up to you how you mount the screen. One thing to keep in mind, the camera and projector need roughly 1.1m (3' to 4') spacing behind the screen. The precise location is not very critical as long as the camera sees and the projector covers the entire screen. This is easy to figure out and not as scary as it sounds. Once the hardware is in hand we suggest testing the distances before putting time into building an encasement. Most of the alignment and calibration can be done in software.

The screen has numerous mounting holes around its perimeter. We suggest using plastic screws (M3 size) like the 95258A132 from McMaster to mount the screen in place.

If you are unsure we can suggest the following two mounting option. One uses tape and insulation foam board and works well for a lab setup. The other is based on a custom-welded steel-tube frame and makes the screen very presentable. If you don't have access to a welder, you can also try mimicking the design in a heavy wood.



Once you have the helloWorldExample app (or any other example app for that matter) running you can start with the screen calibration. In the running app simply press ENTER. You will be presented with a small keyboard-operated menu. The items of interest are Graphics Warp and Vision Warp. For each adjust the four corners so they align with the TouchKit screen.

ToucKit Calibration Vision Warp
ToucKit Calibration Graphics Warp

Generally starting with the Vision Warp and then adjusting the Graphics Warp works better. Keep adjusting the Graphics Warp corners until the fingers register precisely under them throughout the entire screen.

Once you are done, completely exit the menu by pressing [BACKSPACE] or [DELETE]. This will save the settings/calibration to settings.xml in the data folder. Next time you run the app the same settings will be used. To reuse these settings simply copy the settings.xml to the new app's data folder.

Another menu item of interest is the threshold. This is a number between 0 and 255. The lower this number is the more sensitive the screen becomes. Usually a threshold between 20 and 80 works well.

Where to go from here

You should now have a working system. It's time to write your own applications. A good starting point for this is the example code section.

Produced with the support of Eyebeam Atelier.