Age | Commit message (Collapse) | Author |
|
This reverts commit 934bc0012f948c52aadc8eda912f7728fb7394a2.
As requested by Peter Hutterer.
|
|
Change the driver to react to BTN_TOUCH if device does not report
ABS_PRESSURE since there are touchpads (such as Elantech) that do not
support pressure reading but otherwise are perfectly useable in absolute
mode.
Also fix error checking of ioctl calls (positive return value is not an
error, only negative is).
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
This patch switches the daemon to use input properties. One can still
use the SHMConfig as fallback.
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
This patch prevents the polling of the keyboard state. Instead it uses the
XRecord extension of the Xserver for an event triggered notification of key
events. Of course, there is a fallback to the polling when no XRecord
extension is found. This should finally stop complains of syndaemon
preventing good power saving.
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
The new auto-detection functionality of the driver provides a default
way to produce left, right and middle clicks for all trackpads and
touchscreens, based on capabilty. However, the current code only
provides single click for touchscreens and trackpads without buttons.
This patch turns on multi-finger tapping for such devices.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off by: Christoph Brill <egore911@egore911.de>
|
|
Missing from 851097c45f02f2a033975cd3b2ed9490a4aa87bd. Don't install header
files in <prefix>/include, install them in <prefix>/include/xorg instead.
|
|
if checkonly is TRUE, only check the values but do not apply them. This is
achieved by working on a temporary copy of the parameters if checkonly is set,
and ditching the copy after completion.
If checkout is not set, the same code works on the actual parameters.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
TRUE was not replaced with Success when all of the other property handler
return codes were. This meant that properties ended up set in the driver but
not the rest of the server.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Magnus.Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Magnus.Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Was dropped with the repeater device removal.
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
|
|
If Protocol event is used, the driver initializes defaults based on the
capabilities reported by the kernel driver. Acceleration and edges are based
on the dimensions reported by the kernel. If the kernel reports multi-finger
detection, two-finger vertical scrolling is enabled, horizontal two-finger
scrolling is disabled and edge scrolling is disabled. If no multi-finger
capabilities are reported, edge scrolling is enabled for both horizontal and
vertical scrolling.
|
|
|
|
Remove the repeater functionality completely from the synaptics touchpad
driver. It is buggy in its current implementation and its usefulness is
questionable.
According to the INSTALL file, the repeater is there only for testing. In
fact, if a supported device is found even a configured repeater fifo is
automatically disabled. For most users the functionality is therefore
irrelevant and can be confusing. If I understand the workings of the
repeater correctly, a developer could instead just read the data directly
from an unsupported device's character special file under /dev
or /dev/input.
With today's more dynamic device configuration possibilities via udev and
hal it's also less likely that the synaptics driver would silently block
another devices data, this situation being for what the repeater
functionality seems to have been introduced in the past.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
|
|
XIConfigureDeviceProperty doesn't exist anymore.
XIChangeDeviceProperty has two parameters less, returns status code.
Explicitly set all properties as non-deletable.
|
|
The biggest change is to the speed and acceleration parameters, which should
now scale properly. Starting from one end and moving a finger really slowly
across the touchpad, the pointer should move about 40 percent of the way from
one end to the other. Repeating the process more quickly, the pointer should
move about 70 percent. Finally, moving really quickly, the pointer should
reach the the other end of the screen before the whole touchpad has been
crossed.
Settings tested on appletouch, synaptics, and bcm5974.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
This patch sets default parameters based on available buttons
and multi-touch features. It also adds auto-scaling for parameters
based on pressure and finger width.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
The new auto-scale and capability detection renders these defaults unnecessary.
This reverts commit fd3517b14d09cc3b6625252f8fd94c863f1c9810.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
The auto-dev probing requires opening the device locally to determine the type of device, so
that the right protocol can be assigned. However, all other setup work should be performed
during initialization of the assigned and opened device. This patch moves the
read-device-dimensions functionality from some special cases during the probe process to
the initialization routine, where it can be used for all supported devices.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Make the tapping move radius 7.2 percent of the touchpad width
by default. This corresponds to the old settings of 220/3040,
but works for all touchpad sizes.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
This maintenance patch breaks out two functions from SynapticsPreInit: set_default_parameters and set_repeater_fifo.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
This patch adds the UnInit function, which explicitly cleans up the allocated device. It also prepares for a distinction
between closing-and-reopening a device, and shutting down X. This distinction makes it possible to better keep shared
information alive.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
|
|
The xf86ReplaceStrOption may change the option list pointer. Also make sure
no stale option pointers are used after a call to SetDeviceAndProtocol().
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
The corner button functionality might be good on some touchpads, but it seems there are more
cases where it leads to unexpected behavior. To avoid confusion, having this feature turned off
by default makes more sense. However, there might be strong opinions it, so this patch will have
to be considered optional.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
The size and motion style of the bcm5974 trackpad does not work very well with the default
settings in src/synaptics.c. This patch adds a well-tested set of default values, which will
give a pleasant out-of-the-box experience for Xorg-1.5.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
If this still breaks with KDE, fix KDE or the server.
|
|
The synaptics spec specifies "typical axis ranges" for synaptics devices.
Based on these typical ranges, calculate edge coordinates and apply the same
proportions to the device at hand.
Based on the hard-coded ranges and acceleration, calculate accel for
autodetected ranges in the same proportions.
|
|
For auto-dev, we'd probe the device node and get the axis ranges. If we
specify the device however we didn't retrieve the axis ranges and thus got
stuck with the defaults - losing out on automatic edge and accel calculation.
This is an issue if the device is hotplugged, as HAL will specify the device
node.
This patch adds another hook to synproto_operations to pre-probe the device.
This hook is only used by eventcomm and opens the FD, queries the axis range
and closes the FD again.
|
|
On a left/right button press, middle button emulation springs into action and
changes the reported hw state. It then returns a delay that is supposed to set
a timer. No button event is posted to the server, the timer ensures that it'll
be posted later.
If however - in the same cycle - the button up is reported, but with a
hardware time > middle emulation timeout, the middle button emulation is
canceled. The hw state is reset to button down, and processing continues,
reporting the button down event.
Since this is in the same cycle, the new delay overrides the previous one and
the timer is never set.
Introduce a new state into MB emulation that forces the click event if the
above situation occurs.
Red Hat Bug 233717 <http://bugzilla.redhat.com/show_bug.cgi?id=233717>
|
|
xf86ReplaceOption doesn't seem to like NULL values
|
|
|
|
The range that is considered moving during tapping is somewhat generous in the default settings.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
When two-finger-scrolling quickly and distinctly, the two-finger tapping gets activated, effectively selecting a portion of the selected text. The synaptics code already has logic to prevent taps from
being registered when the fingers move; this patch simply removes what appears to be an unnecessary assumption that only single-finger clicks needs this functionality.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
The xf86SetStrOption function only sets the option variable to the local default if not already
set to something else. Thus, the code which reloads a particular device by using this function
often fails, simply because the sought device name isnt set properly.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
By adding bcm5974 to the HAL layer, the synaptics driver will be loaded by default for the new
bcm5974-based Apple macbooks Pro Penryn and Air.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Thanks to Matthieu Herrb for reporting this.
|