Szymon Kobalczyk's Blog

A Developer's Notebook

  Home  |   Contact  |   Syndication    |   Login
  104 Posts | 6 Stories | 534 Comments | 365 Trackbacks

News

View Szymon Kobalczyk's profile on LinkedIn

Twitter












Tag Cloud


Article Categories

Archives

Post Categories

Blogs I Read

Tools I Use

Last couple of months I’ve been working on very cool project that utilizes new multi-touch features in Windows 7. Although I can’t talk yet about our product, I thought it would be good to start sharing my experience with multi-touch programming. I’ll begin with some general resources to get you started.

Prerequisites

Of course first thing you need is a multi-touch capable hardware. As far as I know currently there are only three devices available on the market. Those lucky to be at PDC could see that most demos were run on HP TouchSmart All-in-One PC, or Dell Letitude XT tablet. Later in December HP released TouchSmart tx2z tablet, and this week Dell announced specs on Letitude XT2. For my work I use HP TouchSmart IQ504 PC.

The good news is that we have already seen some announcements from other manufacturers, and can expect number of devices to increase closer to Windows 7 release date.

In terms of touch-screen technology both tablets use the same DuoSense capacitive digitizer from N-Trig, while HP All-in-one PC uses optical overlay developed by NextWindow. The main difference is that NextWindow device supports only two touch points, while N-Trig’s can recognize more contacts.

Unfortunately multi-touch works only with dedicated hardware, so you can’t use other digitizers (like Wacom’s), touchpads or TabletPCs. Also there is no way to emulate multi-touch on Windows 7, for example by attaching multiple mice, although this is supported on Surface SDK emulator as demonstrated by Scott Hanselman (see around 14:30).

Software

In terms of software you need two things: Windows 7 and proper multi-touch driver for your device. Currently I run on Windows 7 Beta 1 (build 7000 for x86), and when I did clean install today most of the drivers are now available through Windows Update. The only driver I had to install manually was for Ralink WLAN adapter. However the TouchSmart version I have doesn’t have TV tuner, so if yours does you might need to install some additional software. Fortunately Kurt Brockett published detailed guide how to setup Windows 7 on HP TouchSmart.

If by any chance the multi-touch drivers won’t install for you automatically, you can download them directly from NextWindow’s or N-trig’s websites:

To verify all works fine open any page in IE8 and you should be able to use two fingers for zooming.

Here are some other areas in Windows 7 that were enhanced with multi-touch features:

  • Panning with inertia is enabled “everywhere” where scrollbars exist.
  • Paint
    • Choose a brush from the “brush gallery” and you can then multi touch finger paint.
  • Games
    • Hearts/Solitaire have been optimized for touch
  • Shell
    • Windows Snapping (Aero Snap) with Touch
    • Aero Peek with Touch
    • Taskbar Jump Lists with Increased spacing
  • Windows Media Player
  • Windows Photo Viewer
    • Zoom, Rotate, Panning and Flicks
  • XPS Viewer
    • Gestures (Zoom, Two-Finger Tap, Panning)
  • Media Center
    • Direct Panning in most Scrollable Views and Menus
  • Touch Keyboard / TIP
    • Multi-touch touch keyboard
  • Internet Explorer 8
    • Panning
    • Drag Menu (Address Bar) with Increased Spacing
    • Increased Spacing for Favorites with Touch
    • Gesture (Zoom, Panning, Flicks back and forth)
  • Windows Live Photo Gallery
    • Gesture support in the Viewer

You can also download IdentityMine’s Air Hockey game from: www.identitymine.com/airhockey

Tip: If you are using touch on regular basis touch it is a good idea to increase the size of Windows UI (fonts, icons, etc.) by changing your display settings to Medium (125%). This will make Windows much more “touchable”.

Multi-touch Programming

Most of what we know so far about multi-touch API’s introduced in Windows 7 and WPF 4.0 comes from PDC session by Reed Townsend and Anson Tsao.

There are also two later sessions from WinHEC 2008: Multi-Touch in Windows 7 Overview covers some basics and repeats information from PDC, while Multi-Touch Driver Development and Logo Compliance is more toward hardware developers.

Recently published Windows 7 SDK Beta includes header files for WM_TOUCH, WM_GESTURE messages, and related functions and structures. It also includes some documentation and samples on this (also available on MSDN).

When you have all of above installed, you can try some code samples from hands on labs from PDC available on MSDN Code Gallery. These samples are both in C++ and C#. But to get it working in WPF you will need some more advanced framework in place, and I suggest you first take a look at the Multi-touch Vista project on CodePlex. You can take a look at MIRIA SDK that adds multi-touch support to Silverlight apps. Finally, for those of you that already work with TUIO libraries (like Touchlib) here is an applet to translate WM_TOUCH to TUIO messages.

More information in multi-touch and related technology can be found in the great NUI Group Forum. You can also find all information how to build multi-touch device yourself.

 

I hope that this information will get you started, and I will try to publish more information on multi-touch programming in C# in next few days. If you have any questions or suggestions please leave a comment.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
posted on Friday, February 13, 2009 8:19 AM

Feedback

# re: Resources for Multi-touch in Windows 7 2/14/2009 12:50 PM lpodolak
Very cool stuff, show us something on the next kgd ug meeting and forget about NDA :)

# re: Resources for Multi-touch in Windows 7 2/16/2009 4:41 PM paul
Any news on a driver for the multi-touch pads on the current macbook and macbook pro's?

# re: Resources for Multi-touch in Windows 7 2/18/2009 5:24 PM Mayank
Very cool stuff. Do you have the C# version ready somewhere..

# re: Resources for Multi-touch in Windows 7 3/4/2009 4:36 AM Pierre Dinnissen
Where are the samples in the Windows 7 SDK that use WM_TOUCH and WM_GESTURE?

# re: Resources for Multi-touch in Windows 7 3/4/2009 1:01 PM Daniel D
MultiTouchVista now has a driver that emulates multitouch hardware for Windows 7
http://multitouchvista.codeplex.com/
http://www.youtube.com/watch?v=C_-vxp1K-1Q


# re: Resources for Multi-touch in Windows 7 3/6/2009 5:13 PM Szymon
Daniel, This is super cool! I just got it running at home and works perfectly. Thanks a lot!

# re: Resources for Multi-touch in Windows 7 3/26/2009 11:59 AM Lee Englestone
I've just got a Latitude XT, installed the multi touch drivers, but am quite frankly finding it hard to find multi touch examples to test / show off multi touch support.

Suggestions for my setup would be welcomed.

C# code samples? Finished Products? Anything?

-- Lee

# re: Resources for Multi-touch in Windows 7 9/26/2009 10:45 PM Aaron Cushner
Any idea of the new Wacom Bamboo Touch (http://www.wacom.com/bamboo/bamboo_touch.php) gives true Windows 7 touch support? Thanks!

# re: Resources for Multi-touch in Windows 7 11/17/2009 9:38 PM Thomas Hansen
Check out http://pymt.txzone.net

Its a python framework to build multitouch applications. Its cross platform and has native support for windows 7 multitouch. se for example my blog post here: http://blog.tehansen.de/?p=62

# re: Resources for Multi-touch in Windows 7 11/17/2009 9:39 PM Thomas Hansen
Just saw another question post about mac multitouch trackpad. Just wanted to mention that pymt also supports teh multitouch trackpad on the macbook pro's as well as th new multi-touch mouse.

# re: Resources for Multi-touch in Windows 7 1/5/2010 5:00 PM Ben Von Handorf
The Bamboo Touch product line is NOT true Windows 7 multi-touch support. The driver interprets the touches and sends a mouse/scroll/zoom style message.

Very disappointing. Looking for a real MultiTouch touchpad now.

# re: Resources for Multi-touch in Windows 7 1/17/2010 10:16 PM cris
and for a macbook?

# re: Resources for Multi-touch in Windows 7 1/27/2010 11:02 AM ecards
Helpful article but can we clarify:

1) The article says "multi-touch works only with dedicated hardware so you can’t use...touchpads"

How come a touchpad manufacturer couldn't simply add native Win7 multi-touch support to a device? Where is this limitation documented?

2) In comments BenH says "baboo touch does not have true Win7 multi-touch support". Has the company said this is something they will not provide? How do you know they are not working on it?

Regards-

# re: Resources for Multi-touch in Windows 7 3/26/2010 11:35 AM trauma season
Do you have the C# version ready Very cool stuff.somewhere..

# re: Resources for Multi-touch in Windows 7 4/20/2010 2:00 AM promozioni del casinò
With the default settings, you will get an application shortcut on your local Windows 7 instance when you install
applications in the Virtual Windows XP. These applications can then be launched from the Windows 7 start menu and
when they start, they will automatically launch the virtualized Windows XP in the background and you will be able to work with the application directly on the Windows 7 desktop.

# re: Resources for Multi-touch in Windows 7 6/11/2010 2:35 AM beauty
Thank you for sharing such good experience.I also like to write such things in own blog. http://www.trustsneakers.com/ nike men's shox turbo shoes go to shopping.


# re: Resources for Multi-touch in Windows 7 7/1/2010 12:30 AM Dominik69
DOMINIK BYKI

# re: Resources for Multi-touch in Windows 7 9/8/2010 11:36 AM zhangcaiyun99

http://www.pop4inf.com/

# re: Resources for Multi-touch in Windows 7 10/16/2010 8:47 AM fendi handbags


More please, this information helped me consider a few more things, keep up the good work.


# re: Resources for Multi-touch in Windows 7 11/7/2010 7:41 AM software reviews
Nice post on . I like it very much because it has very helpful articles of various topics like different culture and the latest news. I am a googler and search on many topics. By searching i found this nice website. Thanks for sharing.

# re: Resources for Multi-touch in Windows 7 12/4/2010 3:13 AM ugg sale
good :) have a look at our site,big sale on UGG.

# re: Resources for Multi-touch in Windows 7 12/6/2010 9:18 AM free cell phone spy
The Windows 7 platform enables developers to create new experiences that go beyond simple mouse pointing, clicking, and dragging. The new Touch API supports gestures, such as pan, zoom, and rotate, as well as raw touch data inputs and advance manipulation and inertia.

# re: Resources for Multi-touch in Windows 7 12/6/2010 1:05 PM cell phone spyware
I love windows 7.I have already installed windows 7.It is much better and bugless.It is much more flexible than xp.

# canvas prints 12/9/2010 12:33 AM rogerz matt
that is most outstandig gadget.its good iam thank ful to you canvas prints its amazing for this century.Hi, It is really nice, but could you tell me how should I use this code,thanks for this infomation.

# re: Resources for Multi-touch in Windows 7 12/20/2010 8:32 AM ed hardy clothing
Thank you very much. I am wonderring if i can share your article in the bookmarks of society?Then more friends can talk about this problem.


# re: Resources for Multi-touch in Windows 7 12/21/2010 6:47 PM cloture electrique
Thank you very much and I agree, Windows 7 is pretty cool.

# re: Resources for Multi-touch in Windows 7 12/22/2010 12:47 PM clubmz espy
Windows 7 is greatly designed with zero buggs.I have installed it in my laptop.It is very supportive.

# re: Resources for Multi-touch in Windows 7 12/27/2010 1:21 PM fake diploma
It's good to know that you share those color schemes. I think they can be also inputted in a website and program source code.

# Orange County SEO 12/28/2010 12:54 AM kerook matt
A tablet personal computer (tablet PC) is a portable personal computer equipped with a touchscreen as a primary input device, and running a (modified) classic desktop OS.

# re: Resources for Multi-touch in Windows 7 12/31/2010 11:33 AM spy on a cell phone
The driver interprets the touches and sends a mouse/scroll/zoom style message.

# re: Resources for Multi-touch in Windows 7 1/3/2011 7:54 AM LTN156AT01
You'll find all CLAA154WB08-A you wanted or needed to know, here.

# re: Resources for Multi-touch in Windows 7 1/24/2011 11:32 AM scraps para orkut
Windows 7 came up with a lot of advantages, including better management of resources, better performance, Jumplist management, multi-touch functionality and more. Here I will discuss the development of a simple application using multi-touch. Net 3.5 SP1.

# re: Resources for Multi-touch in Windows 7 2/1/2011 8:13 AM texas defensive driving
yeah guys, as same application HP came up with a new product naming HP DREAM SCREEN.., here we can watch and upload movies cum pics, a purely touch based screen and also can have video calling.., juz google it out for more...

# re: Resources for Multi-touch in Windows 7 2/9/2011 10:23 AM mobile phone spy
Nice post keep it up the nice work.The blog is really useful.

# re: Resources for Multi-touch in Windows 7 2/9/2011 8:57 PM Moving Supplies
its sounds like a nice post.i am search always this good and nice things.Moving Supplies
you must watch this post is so informative for all.

# Kitchen Cabinets Los Angeles 2/9/2011 11:28 PM Cahster Matt, I
Nice post here
kitchen cabinets Orange Countyvery good idea of kitchen in Orange County.

#  for Multi-touch in Windows 7 2/10/2011 10:51 AM Prada Handbags
It's good to see this information in your post, i was looking the same but there was not any proper resource, thanx now i have the link which i was looking for my research.

# re: Resources for Multi-touch in Windows 7 3/6/2011 2:09 PM Orkut Scraps
Unfortunately multi-touch works only with dedicated hardware, so you can’t use other digitizers (like Wacom’s), touchpads or TabletPCs. Also there is no way to emulate multi-touch on Windows 7, for example by attaching multiple mice, although this is supported on Surface SDK emulator as demonstrated by Scott Hanselman (see around 14:30).


# re: Resources for Multi-touch in Windows 7 3/7/2011 11:31 AM spy text messages
Thanks for the amazing content on your blog, I am very interested in this article and you have really helped me. I have just told a few of my friends about this on FaceBook and they love your content just as much as I do.

# Nice topic about Multi-touch in Windows 7 3/11/2011 10:50 AM Orchids
The most popular form are mobile devices (iPhone, iPod Touch), touchtables (Microsoft Surface) and walls. Both touchtables and touch walls project an image through acrylic or glass, and then back-light the image with LEDs. When a finger or an object touches the surface, causing the light to scatter, the reflection is caught with sensors or cameras that send the data to software which dictates response to the touch, depending on the type of reflection measured. Touch surfaces can also be made pressure-sensitive by the addition of a pressure-sensitive coating that flexes differently depending on how firmly it is pressed, altering the reflection.Handheld technologies use a panel that carries an electrical charge. When a finger touches the screen, the touch disrupts the panel's electrical field. The disruption is registered and sent to the software, which then initiates a response to the gesture.

# Artificial Flowers 3/14/2011 12:30 PM Shane Wotson
Computer World (German: Computerwelt) is the eighth studio album by German electronic music band Kraftwerk, released in May 1981. The album deals with the themes of the rise of computers within society. Critics see this album as a peak in the career of Kraftwerk, along with Autobahn and Trans-Europe Express. The compositions are credited to Ralf Hütter, Florian Schneider, and Karl Bartos. The sound of the album is more reliant on purely electronics and vocals.Artificial Flowers

# re: Resources for Multi-touch in Windows 7 3/14/2011 5:31 PM Articles
If the chronology on your resume reports that you held a position from 2005 to 2007, the hiring manager is left wondering if you started in December of 2005 and left in January of 2007. If your two year tenure was really only 13 months, be honest about it and include the months.
IPhone

# re: Resources for Multi-touch in Windows 7 3/16/2011 1:58 PM Cell Phone Tracking
I really like the fresh perpective you did on the problem. Truly was not expecting that when I started off studying. Your concepts were easy to comprehend that I wondered why I never looked at it prior to. Glad to know that there’s an individual out there that definitely understands what he’s discussing. Great job

# re: Resources for Multi-touch in Windows 7 3/28/2011 7:32 PM orkut scraps
Does this work for tablets? I create Orkut scraps and mensagens and it seems like this program would be really useful.

# Debt Settlement USA 4/7/2011 6:50 AM debt settlement
Windows, including Windows Calendar, Windows Mail, Windows Movie Maker, and Windows Photo Gallery, are not included in Windows 7,most are instead offered separately at no charge as part of the Windows Live Essentials suite.






# re: Resources for Multi-touch in Windows 7 4/8/2011 1:03 PM Credit Card Debt Reduction

The interaction of touch and movement on surfaces is a function on electronic visual displays and touchpad pointing devices to interact with content. It is an intermediary connection and detection method from hardware to computer software, to enact a users intention.



# re: Resources for Multi-touch in Windows 7 4/10/2011 10:48 AM San Diego Lawyer
You collection,data,info etc are good. I do not fell bore to read. It is funny and interesting. Your writing gives me mental refreshment. It is really success of writing.

# re: Resources for Multi-touch in Windows 7 4/11/2011 7:19 AM Shipping Boxes Orange County
On touchscreen displays, multi-touch refers to the ability to simultaneously register three or more distinct positions of input touches.It is often used to describe other, more limited implementations, like Gesture-Enhanced Single-Touch, Dual-Touch or real Multi-Touch.



# re: Resources for Multi-touch in Windows 7 4/11/2011 7:21 AM Custom Cabinets Orange County
The use of touchscreen technology to control electronic devices pre-dates multi-touch technology and the personal computer. Early synthesizer and electronic instrument builders like Hugh Le Caine and Bob Moog experimented with using touch-sensitive capacitance sensors to control the sounds made by their instruments.


# re: Resources for Multi-touch in Windows 7 4/11/2011 12:20 PM Credit Card Debt Solution
One of the early implementations of mutual capacitance touchscreen technology was developed at CERN in 1977[7][8] based on their capacitance touch screens developed in 1972 by Danish electronics engineer Bent Stumpe. This technology was used to develop a new type of human machine interface (HMI) for the control room of the Super Proton Synchrotron particle accelerator.



# re: Resources for Multi-touch in Windows 7 4/11/2011 1:00 PM Credit Card Debt Services
Solaris (Russian: Солярис) is a 1968 TV film based on the 1961 novel Solaris by Stanisław Lem. It was written by N. Kemarsky, directed by Boris Nirenburg and was a Central Television production.




# re: Resources for Multi-touch in Windows 7 4/23/2011 9:17 AM imrose smith
Windows 7 is available in six different editions, but only Home Premium, Professional, and Ultimate are widely available at retail.[1] The other editions focus on other markets, such as the developing world or enterprise use. All editions support the 32-bit (IA-32) processor architecture and all editions except Starter support the 64-bit (x86-64) processor architecture (64-bit installation media is not included in Home Basic edition, but can be obtained from Microsoft).
debt settlement

# re: Resources for Multi-touch in Windows 7 5/14/2011 10:08 AM Rosemarycxy878
This UI Technology including patents have developed since 2008. if technology transfer which is now working on is finished, you can use those techniques on commercial phone, eBook, TV and ETC. This is also my hope.

# re: Resources for Multi-touch in Windows 7 5/14/2011 10:09 AM Rosemarycxy878
This UI Technology including patents have developed since 2008. if technology transfer which is now working on is finished, you can use those techniques on commercial phone, eBook, TV and ETC. This is also my hope.
for more info please visit:
http://thegloriousworldcup.com/index.php?title=Main_Page/
http://reggiocollab.org/index.php?title=Main_Page/

# re: Resources for Multi-touch in Windows 7 7/25/2011 11:27 AM George
Hi Szymon,

You've summarized well the start-up for multi-touch windows 7 programmimg. Most interesting was that restriction on dedicated hardware to support multi-touch with windows 7 OS. I think today the compatible hardware area has extended into a bigger offer.
bijuterii argint

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: