2014-12-18 10:49:58 -08:00
|
|
|
/**
|
|
|
|
|
@page t440_support Lenovo *40 series touchpad support
|
|
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
The Lenovo *40 series emulates trackstick buttons on the top part of the
|
|
|
|
|
touchpads.
|
|
|
|
|
|
2014-12-18 10:49:58 -08:00
|
|
|
@section t440_support_overview Overview
|
|
|
|
|
|
|
|
|
|
The Lenovo *40 series introduced a new type of touchpad. Previously, all
|
|
|
|
|
laptops had a separate set of physical buttons for the
|
|
|
|
|
<a href="http://en.wikipedia.org/wiki/Pointing_stick">trackstick</a>. This
|
|
|
|
|
series removed these buttons, relying on a software emulation of the top
|
|
|
|
|
section of the touchpad. This is visually marked on the trackpad itself,
|
2015-05-28 10:46:02 +10:00
|
|
|
and clicks can be triggered by pressing the touchpad down with a finger in
|
|
|
|
|
the respective area:
|
2014-12-18 10:49:58 -08:00
|
|
|
|
2015-05-28 10:46:02 +10:00
|
|
|
@image html top-software-buttons.svg "Left, right and middle-button click with top software button areas"
|
2014-12-18 10:49:58 -08:00
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
This page only covers the top software buttons, the bottom button behavior
|
|
|
|
|
is covered in @ref clickpad_softbuttons "Clickpad software buttons".
|
|
|
|
|
|
|
|
|
|
Clickpads with a top button area are marked with the <a
|
|
|
|
|
href="https://www.kernel.org/doc/Documentation/input/event-codes.txt">INPUT_PROP_TOPBUTTONPAD</a>
|
|
|
|
|
property.
|
2014-12-18 10:49:58 -08:00
|
|
|
|
|
|
|
|
@section t440_support_btn_size Size of the buttons
|
|
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
The line of the buttons is 5mm from the top edge of the touchpad,
|
|
|
|
|
measurements of button presses showed that the size of the buttons needs to
|
|
|
|
|
be approximately 10mm high to work reliable (especially when using the
|
|
|
|
|
thumb to press the button).
|
2014-12-18 10:49:58 -08:00
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
The width of the left and right buttons is approximately 42% of the
|
|
|
|
|
touchpad's width, the middle button is centered and should be assigned
|
|
|
|
|
approximately 16% of the touchpad width.
|
2014-12-18 10:49:58 -08:00
|
|
|
|
|
|
|
|
@section t440_support_btn_behavior Button behavior
|
|
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
Movement in the top button area does not generate pointer movement. These
|
|
|
|
|
buttons are not replacement buttons for the bottom button area but have
|
|
|
|
|
their own behavior.
|
|
|
|
|
Semantically attached to the trackstick device, libinput re-routes events
|
|
|
|
|
from these buttons to appear through the trackstick device. The top button
|
|
|
|
|
areas work even if the touchpad is disabled but will be disabled when the
|
|
|
|
|
trackstick device is disabled.
|
2014-12-18 10:49:58 -08:00
|
|
|
|
|
|
|
|
If the finger starts inside the top area and moves outside the button area
|
2014-12-22 10:04:58 +10:00
|
|
|
the finger is treated as dead and must be lifted to generate future buttons.
|
|
|
|
|
Likewise, movement into the top button area does not trigger button events, a click
|
2014-12-18 10:49:58 -08:00
|
|
|
has to start inside this area to take effect.
|
|
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
@section t440_support_identification Kernel support
|
2014-12-18 10:49:58 -08:00
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
The firmware on touchpads providing top software buttons is buggy and
|
|
|
|
|
announces wrong ranges. <a href="https://lkml.org/lkml/2014/3/7/722">Kernel
|
|
|
|
|
patches</a> are required; these fixes are available in kernels
|
|
|
|
|
3.14.1, 3.15 and later but each touchpad needs a separate fix.
|
2014-12-18 10:49:58 -08:00
|
|
|
|
2014-12-22 10:04:58 +10:00
|
|
|
For a complete list of supported touchpads check <a
|
|
|
|
|
href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/input/mouse/synaptics.c">the
|
|
|
|
|
kernel source</a> (search for "topbuttonpad_pnp_ids").
|
2014-12-18 10:49:58 -08:00
|
|
|
|
|
|
|
|
*/
|