Drivers Touch-base

Touch base drivers

Drivers The UPDD driver supports a great number of pointer devices, mainly touchscreen, whiteboards and pen. Our driver is utilised when native touch support in current operating systems does not offer the functionality required or does not support old legacy devices or you may have a custom requirement that can be achieved with our driver. UPDD driver suite for Windows, MacOS, Linux, Android, Solaris and Win CE. Our drivers can be used to add touch support where none exist or for enhanced functionality not offered by the native driver support or to support touch hardware not supported in certain operating system releases.

Drivers
Operating SystemCurrentPreviousNotes
InterfaceDriver RevisionInterfaceDriver Revision
• RS-232
• USB
UniWinDriver708.zip
7.08 Driver Manual
• RS-232
• USB
EEPROM support available
• RS-232
• USB
• PS/2
6.20cs
6.20cs XPe
N/ALegacy TSHARC Driver
Touch Base Drivers• RS-232
• PS/2
• USB
Available for
Download
WinCE, WinXP/7/8,
WinXPe/7e,Linux,
MacOS
Win CE Net 4.2• RS-232
• PS/2
• USB
WinCE4.2 118a
Drivers Manual
• RS-232
• PS/2
• USB
WinCE4.2 1.16
Drivers Manual
WinCE 5.0• RS-232
• PS/2
• USB
WinCE5.0 1.18b
Drivers Manual
• RS-232
• PS/2
• USB
WinCE5.0 1.16
Drivers Manual
WinCE 6.0• RS-232
• PS/2
• USB
WinCE6.0 118b
Drivers Manual
N/A
Linux• RS-232
• PS/2
• USB
3.23
Drivers Manual
• RS-232
• PS/2
• USB
3.04c
Drivers Manual
3.23 recommended for kernels 2.6.27 and later
Linux• RS-232
• UART (TTL)
V 102
User Guide
N/AOpen source kernel code for Linux development
Linux• RS-232
• PS/2
• USB
2.07N/ARecommended for legacy support of older Linux distributions
MacOS9• USB1.06N/A
MacOSX• USB• Motorola 1.04
• Intel & PPC 2.1.0
• USB1.03
2.00
Windows ME
Window98
• RS-232
• PS/2
• USB
UniWinDriver620cs.zip
Drivers Manual
• RS-232
• PS/2
• USB
6.19cs
6.19cs Manual
Windows 95• RS-232
• PS/2
• USB
• BUS
5.04c
Drivers Manual
• RS-232
• PS/2
• USB
• BUS
5.04b
Drivers Manual
Windows 3.1x• RS-232
• PS/2
• USB
3.01
Drivers Manual
N/A
Win NT 4.0• RS-232
• PS/2
• USB
5.00
Drivers Manual
• RS-232
• PS/2
• USB
4.01b
Win CE 3.x• RS-232
• PS/2
• USB
1.10
Drivers Manual
1.09
Win CE 4.0• RS-232
• PS/2
• USB
x86 driver
GEODEx86_1.00
ARMV4I Intel Xscale
N/A
Win CE Net 4.1• RS-232
• PS/2
• USB
x86 101N/A
DOS• RS-232
• PS/2
3.04c
Drivers Manual
• RS-232
• PS/2
• BUS
3.30
Drivers Touch-base

Touch Base Drivers

There has been a resurgence of interest in the concept of multi-touch devices since the demonstration by Jeff Han of his conceptual multi-touch interface in 2006 and more recently the successful launch of the Apple iPhone and iPod Touch and the most recent and highly publicised Windows 7 launch, all with multi-touch capabilities.

Multi touch devices have been around for a long time and an overview of legacy system and the background of multi touch development by Bill Buxton is available at http://www.billbuxton.com/multitouchOverview.html. Wikipedia’s entry is http://en.wikipedia.org/wiki/Multi-touch.

As of version 4.1.4 our UPDD has support for multi touch enabled devices and supports up to 16 styli and this documentation covers in detail UPDD multi-touch implementation.

For those customers contacting us for our advice on implementing multi-touch devices or applications this document also addresses general multi-touch considerations and therefore it is hoped will also answer general multi-touch queries.

Multi-touch utilisation needs to consider four main components, the touch hardware, driver, operating system driver interface and applications:

Hardware considerations

Until recently, touch devices onlyprocessed one touch point (co-ordinate data) at a time due to limitations of the input technology. However, some technologies allow for multi-touch sensing and increasingly touch hardware is now available that is able to detect multiple touches and report a separate data streams per stylus.

Before multi-touch can be utilised it is imperative that the touch hardware is delivering touch data streams for each stylus in use and in a manner that is recognised by the driver, such as UPDD or HID. Multi-touch cannot be achieved with software only solutions and therefore cannot be achieved with tradition touch hardware generating a single stylus data stream. With traditional touch hardware, if you place two or more stylus on the touch screen the device will only output a single data stream representing the mean average position of all touch points.

Data packet considerations

One of the most important features of a multi-touch device is the unique identification of individual stylus. The device must uniquely identify each packet of data sent to the host with a stylus number representing the input stream. The means of identification is a matter for the hardware manufacture, but consideration must be given to the end application. For example an application that is looking at relative positioning of styli, perhaps to look at gestures such as “squeezing” need only identify a number of stylus inputs, the correspondence of a stylus to a particular physical input is perhaps unimportant. Another example is an application that takes different actions depending on the stylus, such as a whiteboard program that has several pens to represent different colours or users will also need to be able to associate a particular stylus with a stylus number in the data packet. The input technology in use will influence the means by which styli are reported to the host. Not all input technologies will be able to uniquely identify individual styli.

In line with our standard recommendations for touch packets we suggest stylus identification be by means of a positive real binary encoded number in each packet. i.e. if 2 bits are used for stylus information then 00 = S1, 01=2, 10=3 and 11=4

UPDD implements a flexible packet parser so can recognise a number of different formats. The driver can also pre-process received multi touch data packets so if systems are sending data in a manner not immediately catered for by the UPDD data packet parser the received data can be reformatted into a structure more readily handled by the parser.

For operating systems that implement an HID (Human Interface Device) driver with multi touch extensions, such as Windows 7, then any HID MT compatible device can take full advantage of the MT functions available via the HID interface.

Touch gestures

Whilst it is possible for a controller to calculate and report only gestures this is not a recommended approach as this limits the flexibility available to drivers or application software to extend and improve the gesture capabilities of the device. In most cases it is better to deliver the stylus co-ordinate information and let the driver interface determine the gesture which is fed to the OS and applications as appropriate.

Driver operation

A driver receives the touch data stream from the hardware interface (USB, Serial etc) and makes that data available for use by the operating system mouse port (pointer) interface or application programs.

In the case of most touch drivers that work in standard desktop environments, the incoming co-ordinate data stream is processed to extract the co-ordinate data which is then scaled (based on calibration data) and passed to the mouse port interface of the operating system so that the system cursor is positioned under the point of touch. In addition to the cursor movement mouse clicks are emulated, either at the point of touch or lift-off, thus the touch screen functions as a pointer device by effectively emulating a mouse device. Although this usage reduces the touch screen function to that of a mouse it has the benefit of interacting with both the desktop manager and the system applications that have been developed to be controlled via a point and click device (normally a mouse or touch pad on a notebook) and therefore they also function with the touch device.

Our driver also makes touch data information available to system applications via the driver’s Application Programming Interface (API). An application can register to receive data when certain events occur on the pointer device. One such event is the processing of a touch co-ordinate and the application code can receive the data directly and handle the data independent from the ‘mouse emulation’ interface. A UPDD API call also exists to enable / disable the system mouse port interface as required.

In a multi-touch environment the driver makes available the multi-touch stylus information to calling applications. In future versions of UPDD the driver could also derive gesture information and pass this to calling applications and optionally feed the gesture information to any future operating systems, or OS extensions, which can process multi-touch gestures.

Operating system mouse pointer interface

Touch co-ordinate data received by the driver is either delivered to the operating system to be processed by the underlying system pointer interface or passed directly to applications that have registered to receive co-ordinate data.

In operating systems designed for only 1 touch interface, such as XP, Vista, early Mac OS X etc the driver will only deliver the co-ordinate data from one stylus to the pointer interface. Where an OS can receive more than co-ordinate stream, such as Windows 7, them multiple data streams are passed to the OS. In the case of Windows 7 this is passed via the HID class interface.

In the case of Vista (single pointer) and Windows 7 (single and multi-touch) if the device is seen (real or virtual) as a compatible HID digitizer type device then extended touch functions are enabled within the OS and appropriate applications.

When processing multi-touch input UPDD considers stylus zero to be the primary stylus and associates this to the pointer interface in single touch environments.

Delivery of touch co-ordinate data to the OS can be disabled as required via a UPDD API function call.

Applications

Ultimately it is the individual applications that will utilise multi-touch input and as such will need an interface with the touch hardware. In multi-touch aware operating systems, such as Windows 7, applications can be written to receive both touch and gesture information via the appropriate interface and act accordingly. Where there is not a OS MT interface or where an application does not want to be restricted to one specific OS then direct access to the multi-touch data, such as via the touch driver’s API or other interface method, is desirable. Once the touch data is received it is used to perform the multi-touch gesture as required, such as shrink or enlarge a photo or resize a browser etc.

To this end it is important that applications can interface with the driver to receive the touch data and it is also important that the application can identify individual stylus, either by individual stylus identification or code to identify the stylus based on received data.

With UPDD, input from all styli are processed and made available to client programs via the API callback mechanism. This extensible mechanism allows the device to be used for any purpose, such as concurrent drawing, touch typing, or gesture recognition.

We will add support for specific multi-touch hardware as it is made available.

Stylus recognition

Identification of a stylus is a function of the hardware; some input technologies, e.g. magnetic or infra-red pen devices might be able to associate a given physical stylus with a stylus number. Others might recognise the first touch as stylus 0, second as stylus 1, etc. Applications utilising the multi-touch features of UPDD should consider the details of the stylus recognition implementation of the hardware when choosing a suitable multi-touch input device.

API example

This simple example illustrates the use of a UPDD callback function to print co-ordinate and stylus information. The XY coordinates and touch events (touch / release) reported via the UPDD callback interface are identified as being for a given stylus with the new hStylus member.

HTBDEVICE hd = TBApiGetRelativeDevice(0);

TBApiRegisterDataCallback(hd,0,_ReadDataTypeXY,CBFunc);

void TBAPI CBFunc(unsigned long context, _PointerData* data)

{

printf('device %d generated x=%d y=%d for stylus: %dn',(int)data->pd.device,(int)data->pd.xy->rawx,(int)data->pd.xy->rawy, (int)data->pd.hStylus);

}

Mouse port processing

Some applications might require that the default UPDD mouse processing be disabled. UPDD API function call TBApiMousePortInterfaceEnable() can be used for this purpose.

Development tools

There are a number of good multi-touch development tools on the market some of which are highlighted here:

Company / Web

Product

So touch Presentation MT

Allows you to create MT presentations

Download action actina sierra vb series driver. Snowflake MT development

Multi-touch SDK and demonstration programs

PyMT

Open source library for developing MT applications

SDK & Gesture Library

ARRIS stands by our warranties 100% and even provides support - for an additional fee - if you are outside your warranty period. Get manuals, troubleshooting guides, FAQs, and more. We’ve continually worked with our customers to transform the experience of entertainment and communications for millions of people around the world. These drivers are not compatible with Macintosh or Linux operating systems. WARNING: Install the USB driver that applies only to the specific product model number. Otherwise irreversible damage can occur. ARRIS is not responsible for any damages or loss associated with the downloading and installation of incorrect drivers to the product. Download ARRIS Router / Switch / AP drivers, firmware, bios, tools, utilities. Arris driver. ARRIS TM402 Modem Driver 5.2.3667.0 for Vista 64-bit 10 downloads. Windows Vista 64 bit. Nov 21st 2015, 07:29 GMT. ARRIS TM402 Modem Driver 5.

SDK for PQ Labs hardware

Development

MT application software

UPDD test program with multi-touch

The driver’s test program has been updated to handle multi-touch input.

A simple, full screen, video demonstration of the test program in use with a multi-touch device.

Over time we will write example applications to receive multi-touch data and act accordingly and make the source code available for general reference.

UPDD supported or under development multi-touch hardware

This section will be updated as we add support for additional multi-touch devices:

Date

UPDD version

Manufacturer

Technology

Vid

Pid

Type

April 2008

4.1.4

Optical

1926

0003

Dual

Mar 2009

4.1.6

Infra-red

Serial

Dual

April 2010

4.1.8

Quanta Computer

Optical

0408
(Pixart>>>>>)

3000
3001

Dual

May 2010

4.1.8

Infra-red

1870

0100

Dual

May 2010

4.1.8

Projected Capacitive

14C8

0005

Dual

To be supported at some future date

Capacity

Multi - 10

Resistive

Multi - 10

Projected Capacitive

0596

0500

Multi - 20

Resistive

1F87

0002

Multi – 10+

Resistive

Multi – 5?

Resistive

1AAD

000F

Dual

Surface Acoustic

04E7

Dual

Optical

1926

0064

Dual

Capacitive

1B96

0001

Multi - 6

Capacitive (?)

Dual

?

?

Capacitive

Dual

MosArt

?

0486

0185

Dual

MosArt

? Smartwi international a/s card reader driver download for windows 7.

062A

7100

Dual

?

?

?

?

For further information or technical assistance please email the technical support team at technical@touch-base.com