Documentation/input/devices/elantech.rst

Source file repositories/reference/linux-study-clean/Documentation/input/devices/elantech.rst

File Facts

System
Linux kernel
Corpus path
Documentation/input/devices/elantech.rst
Extension
.rst
Size
22442 bytes
Lines
842
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

Elantech Touchpad Driver
========================

	Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>

	Extra information for hardware version 1 found and
	provided by Steve Havelka

	Version 2 (EeePC) hardware support based on patches
	received from Woody at Xandros and forwarded to me
	by user StewieGriffin at the eeeuser.com forum

.. Contents

 1. Introduction
 2. Extra knobs
 3. Differentiating hardware versions
 4. Hardware version 1
    4.1 Registers
    4.2 Native relative mode 4 byte packet format
    4.3 Native absolute mode 4 byte packet format
 5. Hardware version 2
    5.1 Registers
    5.2 Native absolute mode 6 byte packet format
        5.2.1 Parity checking and packet re-synchronization
        5.2.2 One/Three finger touch
        5.2.3 Two finger touch
 6. Hardware version 3
    6.1 Registers
    6.2 Native absolute mode 6 byte packet format
        6.2.1 One/Three finger touch
        6.2.2 Two finger touch
 7. Hardware version 4
    7.1 Registers
    7.2 Native absolute mode 6 byte packet format
        7.2.1 Status packet
        7.2.2 Head packet
        7.2.3 Motion packet
 8. Trackpoint (for Hardware version 3 and 4)
    8.1 Registers
    8.2 Native relative mode 6 byte packet format
        8.2.1 Status Packet



Introduction
~~~~~~~~~~~~

Currently the Linux Elantech touchpad driver is aware of four different
hardware versions unimaginatively called version 1,version 2, version 3
and version 4. Version 1 is found in "older" laptops and uses 4 bytes per
packet. Version 2 seems to be introduced with the EeePC and uses 6 bytes
per packet, and provides additional features such as position of two fingers,
and width of the touch.  Hardware version 3 uses 6 bytes per packet (and
for 2 fingers the concatenation of two 6 bytes packets) and allows tracking
of up to 3 fingers. Hardware version 4 uses 6 bytes per packet, and can
combine a status packet with multiple head or motion packets. Hardware version
4 allows tracking up to 5 fingers.

Some Hardware version 3 and version 4 also have a trackpoint which uses a
separate packet format. It is also 6 bytes per packet.

The driver tries to support both hardware versions and should be compatible
with the Xorg Synaptics touchpad driver and its graphical configuration
utilities.

Note that a mouse button is also associated with either the touchpad or the
trackpoint when a trackpoint is available.  Disabling the Touchpad in xorg
(TouchPadOff=0) will also disable the buttons associated with the touchpad.

Annotation

Implementation Notes