N-trig Input Devices Driver

Copyright:© 2008-2010 Rafi Rubin <rafi@seas.upenn.edu>
Copyright:© 2009-2010 Stephane Chatty
InputN-trig input devices driver touchpad

This driver provides support for N-Trig pen and multi-touch sensors. Singleand multi-touch events are translated to the appropriate protocols forthe hid and input systems. Pen events are sufficiently hid compliant andare left to the hid core. The driver also provides additional filteringand utility functions accessible with sysfs and module parameters.

This driver has been reported to work properly with multiple N-Trig devicesattached.

Driver

Output Devices

N-Trig touchscreen Driver This driver provides support for N-Trig pen and multi-touch sensors. Single and multi-touch events are translated to the appropriate protocols for the hid and input systems. Pen events are sufficiently hid compliant and are left to the hid core. Jan 11, 2021 Same N-Trig has greatly improved compatibility with various applications. N Trig Duosense Multitouch Hid Device Driver for Windows 7 32 bit, Windows 7 64 bit, Windows 10, 8, XP. N-TRIG WINTAB DRIVER - Surface subscribe unsubscribe 67, readers users here now Please note that we are transitioning all subreddit work and design to the New Reddit. Drivers/applications working with current n-trig driver, the fact that your changes happen to work with your userspace is not enough. On 03/07/10 14:04, Micki Balanga wrote: The purpose of this patch is to enable Linux users to experience the complete N-trig DuoSense pen and true multi-touch solution capabilities over a Linux.

12.1. Parameters¶

Note: values set at load time are global and will apply to all applicabledevices. Adjusting parameters with sysfs will override the load time values,but only for that one device.

The following parameters are used to configure filters to reduce noise:

activate_slacknumber of fingers to ignore before processing events
activation_height,activation_widthsize threshold to activate immediately
min_height,min_widthsize threshold bellow which fingers are ignoredboth to decide activation and during activity
deactivate_slackthe number of “no contact” frames to ignore beforepropagating the end of activity events

When the last finger is removed from the device, it sends a number of emptyframes. By holding off on deactivation for a few frames we can tolerate falseerroneous disconnects, where the sensor may mistakenly not detect a finger thatis still present. Thus deactivate_slack addresses problems where a users mightsee breaks in lines during drawing, or drop an object during a long drag.

12.2. Additional sysfs items¶

These nodes just provide easy access to the ranges reported by the device.

sensor_logical_height,sensor_logical_widththe range for positions reported during activity
sensor_physical_height,sensor_physical_widthinternal ranges not used for normal events butuseful for tuning

All N-Trig devices with product id of 1 report events in the ranges of

  • X: 0-9600
  • Y: 0-7200

However not all of these devices have the same physical dimensions. Mostseem to be 12” sensors (Dell Latitude XT and XT2 and the HP TX2), andat least one model (Dell Studio 17) has a 17” sensor. The ratio of physicalto logical sizes is used to adjust the size based filter parameters.

12.3. Filtering¶

With the release of the early multi-touch firmwares it became increasinglyobvious that these sensors were prone to erroneous events. Users reportedseeing both inappropriately dropped contact and ghosts, contacts reportedwhere no finger was actually touching the screen.

Deactivation slack helps prevent dropped contact for single touch use, but doesnot address the problem of dropping one of more contacts while other contactsare still active. Drops in the multi-touch context require additionalprocessing and should be handled in tandem with tacking.

As observed ghost contacts are similar to actual use of the sensor, but theyseem to have different profiles. Ghost activity typically shows up as smallshort lived touches. As such, I assume that the longer the continuous streamof events the more likely those events are from a real contact, and that thelarger the size of each contact the more likely it is real. Balancing thegoals of preventing ghosts and accepting real events quickly (to minimizeuser observable latency), the filter accumulates confidence for incomingevents until it hits thresholds and begins propagating. In the interest inminimizing stored state as well as the cost of operations to make a decision,I’ve kept that decision simple.

Time is measured in terms of the number of fingers reported, not frames sincethe probability of multiple simultaneous ghosts is expected to drop offdramatically with increasing numbers. Rather than accumulate weight as afunction of size, I just use it as a binary threshold. A sufficiently largecontact immediately overrides the waiting period and leads to activation.

Setting the activation size thresholds to large values will result in decidingprimarily on activation slack. If you see longer lived ghosts, turning up theactivation slack while reducing the size thresholds may suffice to eliminatethe ghosts while keeping the screen quite responsive to firm taps.

Contacts continue to be filtered with min_height and min_width even afterthe initial activation filter is satisfied. The intent is to providea mechanism for filtering out ghosts in the form of an extra finger whileyou actually are using the screen. In practice this sort of ghost hasbeen far less problematic or relatively rare and I’ve left the defaultsset to 0 for both parameters, effectively turning off that filter.

I don’t know what the optimal values are for these filters. If the defaultsdon’t work for you, please play with the parameters. If you do find othervalues more comfortable, I would appreciate feedback.

The calibration of these devices does drift over time. If ghosts or contactdropping worsen and interfere with the normal usage of your device, tryrecalibrating it.

Devices

N-trig Input Devices Driver Device

12.4. Calibration¶

Driver

Input Devices Of Computer

The N-Trig windows tools provide calibration and testing routines. Also anunofficial unsupported set of user space tools including a calibrator isavailable at:http://code.launchpad.net/~rafi-seas/+junk/ntrig_calib

N-trig Input Devices Driver Updater

12.5. Tracking¶

Output Devices Of Computer

As of yet, all tested N-Trig firmwares do not track fingers. When multiplecontacts are active they seem to be sorted primarily by Y position.