Notes on the Acer c720 trackpad support
Matthew Dillon
dillon at apollo.backplane.com
Thu Jan 9 18:15:42 PST 2014
Trackpad support has been improved in master for the Acer c720
chromebook when running DragonFly. Trackpads on other intel-based
chromebooks when running DragonFly might work too but would possibly
require more messing around with drivers. Other laptops... depends
on their chipsets but the driver I wrote only operates with the
Cypress APA trackpad via the I2C bus, and some work would probably
be needed even on other laptops using the same trackpad chip.
I've been working on my Acer c720 and have made some improvements
to the trackpad to make button emulation work better.
In xorg.conf, the mouse protocol can now be set to "imps/2" instead
of "ps/2" in order to get z-axis (mouse-wheel emulation) support.
The three-finger sequence for the left mouse button emulation has
been expanded to allow left, middle, AND right button emulation
depending on which of the three fingers you set down last / and-or
tap.
There is one quirk. If you have three or more fingers set down
exactly horizontally the trackpad gets confused and will generate
bogus finger-up/finger-down events. It is best, when using three-finger
sequences, to have your fingers placed on a slight diagonal. There
is nothing I can do about the issue, the trackpad itself is reporting
bogus data.
Here is a full list of features I have implemented in the driver:
FEATURES
Jitter supression - Implements 2-pixel hysteresis with memory.
False-finger supression- Two-fingers-down does not emulate anything,
on purpose.
False-emulated button handling-
Buttons are emulated when three fingers are
placed on the pad. If you place all three
fingers down simultaniously, this condition
is detected and will not emulate any button.
Slider jesture - Finger the right hand side and slide up or down.
(Three finger jestures)
left button jesture - Two fingers down on the left, tap/hold right
middle button jesture- Two fingers down left & right, tap/hold middle
right button jesture - Two fingers down on the right, tap/hold left
(you can also mouse the pointer with one, two,
or three fingers. Placing three fingers down
simultaniously will not emulate any button press.
You can then lift and tap one of the fingers
for the button press.
track-pad button - Tap/push physical button, left, middle, or right
side of the trackpad will issue a LEFT, MIDDLE, or
RIGHT button event.
track-pad button - Any tap/slide of more than 32 pixels and pushing
harder to articulate the trackpad physical button
always issues a LEFT button event.
first-finger tracking- The X/Y coordinates always track the first finger
down. If you have multiple fingers down and lift
up the designated first finger, a new designated
first finger will be selected without causing the
mouse to jump (delta's are reset).
-Matt
More information about the Users
mailing list