Intuos, Cintiq, and Business Tablets

Intuos, Cintiq, and Business Tablets

  • Overview
  • Docs
  • FAQs
  • Support
  • GitHub

›Windows Native Touch

Intuos, Cintiq, and Business Tablets

  • Intuos, Cintiq, and Business Tablets

Windows

    Wintab

    • Overview
    • Basics
    • Reference
    • FAQs

    Windows Ink

    • Overview
    • Basics
    • Reference
    • FAQs

    Windows Native Touch

    • Overview
    • Basics
    • Reference
    • FAQs

    Wacom Feel Multi-Touch

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • Multi-Touch Windows .NET
    • Multi-Touch Windows C++
    • Wintab .NET
    • Wintab CAD Test
    • Wintab Pressure Test
    • Wintab ScribbleDemo
    • Wintab Tablet Controls
    • Wintab TiltTest

MacOS

    NS Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Driver Request Interface

    • Overview
    • Basics
    • Reference
    • FAQs

    Multi-Touch Framework

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • Multi-Touch
    • Tablet Controls
    • Tablet Mapping
    • ScribbleDemo

Linux

    Building the Driver

    • Overview
    • Basics
    • Reference
    • FAQs

    GTK+

    • Overview
    • Basics
    • Reference
    • FAQs

    Kernel Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Wayland

    • Overview
    • Basics
    • Reference
    • FAQs

    X Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • GTK+
    • Kernel Events
    • X Events

QT

  • Overview
  • Basics
  • Reference
  • FAQs

Web API

  • Overview
  • Basics
  • Reference
  • FAQs
  • Sample Code

    • ScribbleDemo Using Pointer Events

Overview

Intended Audience

This document is intended to assist Windows developers who would like more information about implementing touch capabilities using Win32 and C/C++. Alternative approaches include Wacom's Wintab and Multi-Touch APIs.

Notice

Wacom is not responsible for the Windows implementation of touch, nor for its documentation.

Introduction

With Windows 7, Microsoft added features to support hardware providing touch data and is automatically available. Windows 8 furthered this capability. Windows 7 included the WM_TOUCH and WM_GESTURE events. With Windows 8, the existing events were supplemented with a family of WM_POINTER events.

WM_TOUCH provides the most complete solution that continues to support Windows 7. The app is notified of every touch event via the application's message loop and windows procedure. The responsibility to record and respond to sequences of events falls to the developer. Applications can detect and track multiple simultaneous touch points, via touch point identifiers and position and action for each. Information presented can also be interpreted as recognized gestures (e.g. tap, scroll, zoom in and out, and rotate). Again the burden lies on the developer.

The WM_GESTURE event likewise continues to be available to support Windows 7. In this case, Windows notifies the application of user input that it has already identified as a gesture. To support responding to this event, a specific API is provided to properly consume the messages.

In connection with the WM_TOUCH event, two specialized interfaces are present and can be used to create natural user interfaces: IManipulationProcessor and IInertiaProcessor. The IManipulationProcessor can be used alone, but the IInertiaProcessor depends on IManipulationProcessor.

Windows 8 introduced a new interface that merges Mouse, Pen, and Touch together using the WM_POINTER family of events. Coding for this unified Pointer input allows you to handle all these input methods without code duplication. This is the result of a significant overhaul of the touch input stack in Windows 8; the idea being "Code for touch, get mouse and pen for free!"

Types of Applications

This section is focused on application development for Desktop applications, specifically with the Win32 API and C/C++ tools. As such, this would be all conceivable applications that might want to incorporate touch input, which is already a large segment of computing devices currently available.

Notably, these kinds of applications benefit greatly from the expanded interface:

  • Graphics and rendering applications targeted at creative users
  • Signature capture applications for the business community
  • CAD-type applications that perform drawing measurement functions

Supported Operating Systems and Programming Frameworks

Operating Systems

Windows 7 introduced touch input support and those features continue to available. Likewise, Windows 8 was designed to continue this support and provide newer, more integrated solutions for hardware that can support Mouse, Touch, and Pen input. Windows 10 continues to do so.

Programming Frameworks

Win32 development is still supported. Newer styles (UWP, WPF, WinUI, Web) are supported with similar APIs. See also Reference.

See Also

Basics – Details about Windows Native Touch

Reference – Links to helpful Microsoft pages

FAQs – Answers to questions about getting started

← FAQsBasics →
  • Intended Audience
  • Notice
  • Introduction
  • Types of Applications
  • Supported Operating Systems and Programming Frameworks
    • Operating Systems
    • Programming Frameworks
  • See Also
Intuos, Cintiq, and Business Tablets
DOCS
IntroductionWindowsMac OSLinuxQtWeb API
COMMUNITY
TwitterLinkedInGitHub
ABOUT
Terms of UsePrivacyCookies
Wacom Developer Relations
Copyright © 2021 Wacom Co., Ltd