Overview of Touch Solutions offered by Toradex for Windows Embedded Compact

Friday, January 8, 2016

WindowsTouch is an exciting technology. Nowadays, touch is a vital feature like keyboard/keypad, mouse, etc. for any device. It has changed the way a user interacts with the devices. The user can sense the effect of their touch by gauging the device’s response. Touch connects users to the device more closely.

Toradex offers different types of touch solutions for different interfaces.

Touch Solutions

In this blog, I will give you an overview of the touch solutions offered by Toradex.

Resistive touch

The Colibri and Apalis computer modules come with an interface for 4-wire and 5-wire resistive touch screen. The driver for this interface is already included in our preinstalled Win CE/Linux standard images. For more information, see Resistive Touch Screen.

Note: 5-wire resistive touch is not supported by all modules. Please refer the specifications of the Colibri and Apalis families to know about the supported resistive touch types.

Capacitive touch

I2C/SPI Capacitive multi-touch device
Most of the multi-touch or single-touch capacitive touch devices support an I2C interface, while the other type of devices come with an SPI interface. The communication protocols of these devices are not standardized, so Toradex is not able to offer a capacitive touch driver that runs out-of-the box with its Board Support Packages. If you are developing a multi-touch driver for a new touch controller, then you need to have a good knowledge of Windows CE & stream driver’s structure, use of the platform builder, etc. So, creating a driver from scratch requires a lot of time to be spent in development and debugging.

To simplify this process, Toradex has developed an architecture, which we call, ‘Capacitive multi-touch solution’. It helps you to easily adapt our capacitive multi-touch driver to any particular touch hardware. Unlike other device drivers, the "Unified Multi-Touch driver" makes no hardware access to the "Multi-touch device" or any other hardware. The Unified Multi-Touch driver is a part of the kernel.

Multi Touch Device

The "Multi-Touch Hardware Adaption" runs as an application. It communicates with the "Multi-Touch Device" with or without using standard Toradex libraries. The main job of the "Multi-Touch Hardware Adaption" is to read the status and touch position from the "Multi-Touch" device and send it to the "Unified Multi-Touch Driver".

The main advantage of this concept is that the whole communication to the Multi-Touch Device is implemented as an application. As the source code example of "Multi-Touch Hardware Adaption" is freely available, you can easily adapt this example to another multi-touch device, which you are using in your project.

For more detailed information see Multi-Touch Solution.

Toradex also offers full-fledged Multi-Touch Display Kits. You can use these kits to quickly ramp up the development even before your actual hardware is developed. With a little more added effort, we can configure the multi-touch solution to support only single-touch with gestures.

I2C/SPI Capacitive Single-Touch Driver
Please note: We are no longer supporting this driver.

The capacitive single-touch driver supports one-finger touch operation and emulates mouse events in Windows CE. In contrast to a real mouse, these drivers use absolute coordinates.

Customers can fix the cursor area and virtual button area inside the active touch sensitive portion.

Capacitive Single Touch Driver

It is a useful feature to have when products don’t need hardware buttons. A software button can easily be assigned to generate key codes with the press of a touch button, which is just like pressing a button on a real keyboard. These key events will be sent to GWES.

Key features of the single-touch driver:

  • A touch inside the cursor area is transformed into a regular mouse event
  • A touch inside the button area is handled in a special way
  • Any touch outside the cursor and button area is ignored
  • The coordinate system of the cursor area (origin and orientation) can be adjusted to match the display

For more information about Capacitive Single Touch driver, see here.

Customers should use the existing available drivers as-is available for download from our developer website. If a customer wants to customize our driver, please contact our support team. We are providing very limited support on the driver customization. These drivers are not allowed to be ported to any other Windows Embedded Compact versions and modules.

In the future, we intend to add these features to the Multi-Touch Solution.

Some capacitive touch devices are interfaced with USB HID class mouse protocol or custom protocol (touch). This hardware can send touch events to the host/device as mouse protocol or the real touch position.

We have taken the mouse as base driver and tweaked it to support the USB touch. You can get more details on this here: USB HID Touch. This driver will get the touch positions from hardware and then convert them to their relative mouse events, which will then be sent to GWES.

Customers can buy USB-based touch devices from the market and connect it directly to a Toradex SoM plugged on a carrier board. The touch should work instantly. If the touch is not working, then follow the troubleshooting procedure to make it work. If the problem persists, contact the Toradex support team to get dedicated support. As of now, USB HID Touch supports single-touch. Multi-Touch support is not yet available.

Touch gestures
Windows Embedded Compact supports gestures from Windows CE6 R3 onwards. Windows CE6 supports only single-touch with gestures. Windows Embedded Compact 7 and 2013 support gestures that are single-touch, dual-touch symmetrical, and multi-touch with two contact points.

The standard gestures recognizer supports PAN, SCROLL, SELECT, DOUBLE SELECT, and HOLD. Using external or plug-in gesture recognizer, ZOOM, and ROTATE gestures are possible.

Gestures are supported only by the Multi-touch Solutions offered by Toradex.

Capacitive Single-Touch driver and USB HID Touch driver don’t support gestures.

To know more about Windows Embedded Compact supported gestures, refer here.

Author: Raja Sivasankaran, Senior Embedded Software Engineer, Toradex
Share this on:

Leave a comment

Please login to leave a comment!
Have a Question?