Problems Getting Started
Where can I find sample code for Windows Native Touch?
There are many sample code examples spread out over the World Wide Web. The examples cover an incredible range of information about Microsoft technologies for using touch data in applications. They are available for C/C++ and C# development. For various frameworks, Win32, UWP / WinUI, etc. Perhaps the most fundamental set of sample code is referenced here: Windows Touch Samples.
Can you provide support for using Windows Native Touch?
Windows is the supplier of that facility and its documentation. We would refer you to their documentation and sample code.
Should I use Windows Native Touch or Wacom's APIs?
It's helpful to ask the following questions: Do you need to do cross-platform development? Are you wanting to use touch input to do gesture recognition? Are you also using a stylus to capture words? Pictures? Manipulate objects in your application?
Wacom has its own interfaces to our tablets, displays, and computers. These are especially created to support capturing fine-grained pen and touch data from our tablets. Our APIs are particularly suited to creative applications.
If your goal is to activate an additional or optional interface for your application, using the WM_TOUCH and/or the manipulators, or WM_GESTURES, may give you the added functionality you want. The degree of complexity and responsibility for the developer can be selected according to the "Good, Better, Best" model that Microsoft introduced with Windows 7. The article Choosing the Right Approach to Windows Touch describes the "Good" as responding to WM_GESTURE messages. The "Better" as getting custom behaviors such as object rotation, panning, or zoom support. The "Best," and most elaborate, interaction comes with advanced use of the WM_TOUCH messages.
If you want to capture writing entered with touch, Microsoft's Pen Input, Ink, and Recognition API may be what you need. However, Wacom Ink SDK for Signature may be just right for specifically processing signature input.
If your application of touch is in addition to pen capture already using our API to do "creative" work, the Wacom touch APIs from Wintab - Overview or Wacom Feel Multi-Touch - Overview are probably your best approach.
Of course, if you are doing cross-platform development (i.e. not just for Windows) our APIs will be the ideal path.
Why am I not getting WM_TOUCH events?
While WM_GESTURE and WM_POINTER* events are automatically routed to your application, you must register for WM_TOUCH events. Applications receive gestures by default. Unless an application registers for Windows Touch input messages with the RegisterTouchWindow function, notifications for gestures (WM_GESTURE messages) are created by Windows and sent to that application window. If an application Window registers to receive touch messages, notifications for Windows Touch input (WM_TOUCH messages) are sent to that application window.
Register your application to receive WM_TOUCH messages:
BOOL RegisterTouchWindow(HWND hwnd, ULONG ulFlags);
And, then, unregister:
BOOL UnregisterTouchWindow(HWND hwnd);