Touch Interface For Tablet Touch Interface For Tablet PCsPCs
Reed TownsendReed TownsendProgram ManagerProgram ManagerTablet PC PlatformTablet PC PlatformMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
Why add touch support?Why add touch support?Touch in Windows VistaTouch in Windows VistaTouch in Windows XPTouch in Windows XP
Hardware considerationsHardware considerationsTouch hardware and digitizer typesTouch hardware and digitizer typesWindows Logo Requirements and WDKWindows Logo Requirements and WDK
DemoDemoDriver considerationsDriver considerations
Driver guidanceDriver guidance
Call to ActionCall to ActionQuestions?Questions?
Why You Should Add Touch Why You Should Add Touch To Your Mobile DeviceTo Your Mobile Device
Touch is a natural and intuitive Touch is a natural and intuitive input mechanisminput mechanism
Touch enables new scenarios for your Touch enables new scenarios for your device and new places it can be useddevice and new places it can be used
Touch complements other input Touch complements other input mechanisms and existing mechanisms and existing mobile scenariosmobile scenarios
Touch Features In Windows VistaTouch Features In Windows Vista
Full touch input support and featuresFull touch input support and featuresTouch gesturesTouch gestures
Basic system gestures: tap, double tap, press and holdBasic system gestures: tap, double tap, press and hold
Touch flicksTouch flicks
Touch pointerTouch pointerFor small targets, help with precise positioningFor small targets, help with precise positioning
Taskbar and hardware button pointer visibility controlTaskbar and hardware button pointer visibility control
Platform API support for touchPlatform API support for touchInking controls accept ink from touchInking controls accept ink from touch
Support for differentiating input methodsSupport for differentiating input methods
Integration with other Tablet features and more!Integration with other Tablet features and more!
Touch Support In Windows XPTouch Support In Windows XP
Recent OPK update allows Tablet PCs to Recent OPK update allows Tablet PCs to include touch digitizersinclude touch digitizers
Wisptis.exe recognizes both pen and Wisptis.exe recognizes both pen and touch devicestouch devices
Touch is treated just like pen inputTouch is treated just like pen input
Touch HardwareTouch Hardware
Touch digitizer decision pointsTouch digitizer decision pointsResolution and sample rateResolution and sample rate
Cost, power consumption, size of the Cost, power consumption, size of the component, optical characteristics, surface component, optical characteristics, surface treatment, z detection, etctreatment, z detection, etc
Resistive DigitizersResistive Digitizers
Responds to pressureResponds to pressureUse a “sharp pointy object”, e.g. a stylus or fingernailUse a “sharp pointy object”, e.g. a stylus or fingernail
Support appropriate resolution and sample ratesSupport appropriate resolution and sample ratesTouch response tradeoffsTouch response tradeoffs
80g force – good touch experience, poor 80g force – good touch experience, poor palm rejectionpalm rejection120g force – good palm rejection, poor 120g force – good palm rejection, poor touch experiencetouch experienceNeed to choose between finger and stylus usagesNeed to choose between finger and stylus usages
Serviceability and optical characteristics may Serviceability and optical characteristics may be issuesbe issuesLow costLow cost
Capacitive DigitizersCapacitive Digitizers
Responds to capacitanceResponds to capacitanceUse your finger or other capacitive object, Use your finger or other capacitive object, fingernail does fingernail does notnot work work
Support appropriate resolution and Support appropriate resolution and sample ratessample rates
Wide variety of capacitive technologiesWide variety of capacitive technologies
Windows Vista Logo Windows Vista Logo RequirementsRequirements
Tablet digitizer requirements are in the Windows Vista Tablet digitizer requirements are in the Windows Vista Logo ProgramLogo ProgramMirror existing OPK requirements, premium and standard Mirror existing OPK requirements, premium and standard logos, for pen and touchlogos, for pen and touchGoalGoal
Ensure high quality digitizer experienceEnsure high quality digitizer experience
RequirementsRequirementsHardware-basedHardware-based
Resolution, sample rate, hover accuracy, contact accuracyResolution, sample rate, hover accuracy, contact accuracy
Usage-basedUsage-basedDriver, supported properties, accidental touch rejectionDriver, supported properties, accidental touch rejection
NotesNotesUMPCs are exempt from accidental touch rejection requirementsUMPCs are exempt from accidental touch rejection requirements
WDK Test SupportWDK Test Support
WDK tests for all new logo requirementsWDK tests for all new logo requirementsAutomated test validating HID digitizer Automated test validating HID digitizer property valuesproperty values
Potential future Logo tests and toolsPotential future Logo tests and toolsManual linearity and noise testManual linearity and noise test
Ensure digitizer linearity and noise are acceptable Ensure digitizer linearity and noise are acceptable
across the deviceacross the device
Manual event and state transition testManual event and state transition testEnsure transitions, such as out-of-range to Ensure transitions, such as out-of-range to in-range, are correctin-range, are correct
Manual real-world testManual real-world testEnsure common gestures in common areas of the Ensure common gestures in common areas of the screen are reported correctlyscreen are reported correctly
Ideal Tablet PC ExperienceIdeal Tablet PC Experience
Include EM pen and touch for a high Include EM pen and touch for a high quality experiencequality experience
E.g. combo digitizer, EM pen + resistive, E.g. combo digitizer, EM pen + resistive, EM + capacitive, etcEM + capacitive, etc
Driver GuidanceDriver Guidance
Pen drivers for Windows XP and Windows VistaPen drivers for Windows XP and Windows VistaAppear as a HID pen digitizer (digitizer page 0x0D, Appear as a HID pen digitizer (digitizer page 0x0D, pen digitizer 0x02)pen digitizer 0x02)
SupportSupportUsages: X, Y, tip switch, in-rangeUsages: X, Y, tip switch, in-range
Optionally supportOptionally supportUsages: Pressure, tilt, inverted, barrel buttonUsages: Pressure, tilt, inverted, barrel button
May need to add a second top-level collection May need to add a second top-level collection for mousefor mouse
Mouse should not send inputMouse should not send input
Updated wacompen.sys sample in WDKUpdated wacompen.sys sample in WDKContains a number of fixes – please update any Contains a number of fixes – please update any derivative code!!derivative code!!
Driver GuidanceDriver Guidance
Touch drivers for Windows XPTouch drivers for Windows XPDocumentation and samples available in the OPKDocumentation and samples available in the OPKThere were no code changes to support touch in There were no code changes to support touch in Windows XPWindows XP
Issue: IPTIP and hoverIssue: IPTIP and hover
Driver guidelinesDriver guidelinesAppear as a HID touch screen (digitizer page 0x0D, Appear as a HID touch screen (digitizer page 0x0D, usage 0x04)usage 0x04)Always report in-range (in-range usage, 0x32) and set Always report in-range (in-range usage, 0x32) and set NoOutOfRange=1 under the digitizer device parameters NoOutOfRange=1 under the digitizer device parameters registry keyregistry key
Please note this guidance is for Please note this guidance is for Windows XP Windows XP onlyonly! Windows Vista drivers should follow the ! Windows Vista drivers should follow the Windows Vista guidanceWindows Vista guidance
Driver GuidanceDriver Guidance
Touch drivers for Windows VistaTouch drivers for Windows VistaWhitepaper available, Windows Vista OPK Whitepaper available, Windows Vista OPK coming sooncoming soon
Do Do notnot always report in-range always report in-range
Driver guidelinesDriver guidelinesAppear as a touch screen (digitizer page 0x0D, usage 0x04)Appear as a touch screen (digitizer page 0x0D, usage 0x04)
Report tip switch when finger is down (0x42)Report tip switch when finger is down (0x42)
Report in-range ifReport in-range if device supports hover (0x32)device supports hover (0x32)
New usagesNew usagesSupport confidence usage (digitizer page 0x47*)Support confidence usage (digitizer page 0x47*)
Optionally support contact width/height usages Optionally support contact width/height usages (generic page 0x60*, 0x61* respectively)(generic page 0x60*, 0x61* respectively)
* Not yet part of the HID standard* Not yet part of the HID standard
Driver GuidanceDriver Guidance
Accidental Touch Rejection Accidental Touch Rejection High level message: Device should do as thorough accidental High level message: Device should do as thorough accidental touch rejection as possible and communicate that through the touch rejection as possible and communicate that through the confidence usageconfidence usage
DetailsDetailsConfidence is a suggestion from the device whether or not the Confidence is a suggestion from the device whether or not the touch contact was an intended versus accidental touchtouch contact was an intended versus accidental touch
Windows Vista will add system logic on top of device Windows Vista will add system logic on top of device confidence reportingconfidence reporting
Different behavior for contacts that transition confidence values, Different behavior for contacts that transition confidence values, extremely large contacts, over inking surfaces, etcextremely large contacts, over inking surfaces, etc
Exposed for inking appsExposed for inking apps
If a device does If a device does notnot support confidence, it is up to the device to support confidence, it is up to the device to provide accidental touch rejectionprovide accidental touch rejection
Driver GuidanceDriver Guidance
Dual-mode digitizersDual-mode digitizersIf your digitizer supports both pen and touchIf your digitizer supports both pen and touch
Report collections: Pen, touch, and mouseReport collections: Pen, touch, and mouseMouse should not send inputMouse should not send input
Follow the guidance for pen and touch devicesFollow the guidance for pen and touch devices
Driver GuidanceDriver Guidance
Touch Digitizer Appearing as a Touch Digitizer Appearing as a Pen DigitizerPen Digitizer
E.g. resistive digitizer, wants to appear as a E.g. resistive digitizer, wants to appear as a pen digitizerpen digitizer
Primary usage must be via stylusPrimary usage must be via stylus
Will get pen features (system gestures, flicks, etc)Will get pen features (system gestures, flicks, etc)
Will not get touch features (gestures, touch Will not get touch features (gestures, touch pointer, TIP changes, etc)pointer, TIP changes, etc)
Must follow pen digitizer driver guidance and Must follow pen digitizer driver guidance and conform to pen logo and OPK hardware conform to pen logo and OPK hardware requirements (linearity, noise, resolution, requirements (linearity, noise, resolution, sample rate, etc)sample rate, etc)
Touch Interaction IssuesTouch Interaction Issues
Common interaction issues to consider Common interaction issues to consider for 3rd party appletsfor 3rd party applets
Finger obscures targetFinger obscures target
No hover (or pressure or tilt)No hover (or pressure or tilt)
800x600 and 600x800 support800x600 and 600x800 support
GuidanceGuidanceUse large targetsUse large targets
Minimize penalties for mistappingMinimize penalties for mistapping
Call To ActionCall To Action
Consider adding touch support to Consider adding touch support to consumer, media, and premium devicesconsumer, media, and premium devices
Provide a high quality pen and Provide a high quality pen and touch experiencetouch experience
Ensure your pen and touch drivers follow Ensure your pen and touch drivers follow the Windows Vista driver guidancethe Windows Vista driver guidance
Additional ResourcesAdditional Resources
Web ResourcesWeb ResourcesTablet Driver Whitepaper: request from your Microsoft Tablet Driver Whitepaper: request from your Microsoft representative (TAM, SE, etc)representative (TAM, SE, etc)
Windows Logo Windows Logo http://www.microsoft.com/whdc/winlogo/hwrequirements.mspxhttp://www.microsoft.com/whdc/winlogo/hwrequirements.mspx
Windows Driver Kit Windows Driver Kit http://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspxhttp://www.microsoft.com/whdc/driver/WDK/aboutWDK.mspx
Mobile PC and Tablet PC Developer Center Mobile PC and Tablet PC Developer Center http://msdn.microsoft.com/mobilepchttp://msdn.microsoft.com/mobilepc
Tablet PC ISV Partner ProgramTablet PC ISV Partner Programhttphttp://www.TabletPCPartners.com://www.TabletPCPartners.com
Related SessionsRelated SessionsMOB091 Ultra-Mobile PC Design: An IntroductionMOB091 Ultra-Mobile PC Design: An Introduction
MOB012 Building Remote and Integrated Auxiliary Display Devices MOB012 Building Remote and Integrated Auxiliary Display Devices with Windows SideShowwith Windows SideShow
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,
it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.