libinput 1.7.2

This commit is contained in:
Peter Hutterer 2017-05-09 15:19:18 +10:00
parent 9ceb958d7a
commit 9f62f55614
8 changed files with 7 additions and 593 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/libinput-1.7.1.tar.xz
/libinput-1.7.2.tar.xz

View File

@ -1,250 +0,0 @@
From 7079bef05fa5171136bca3bad530006072b476ed Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed, 19 Apr 2017 13:45:34 +1000
Subject: [PATCH libinput 1/5] touchpad: move the pressure range to a hwdb
entry
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 8d5f4decb4086e2b7982c3cd1e24afd9c11f551f)
---
src/evdev-mt-touchpad.c | 44 +++++++++++++++++++++++++++-----------
src/libinput-util.c | 36 +++++++++++++++++++++++++++++++
src/libinput-util.h | 1 +
test/test-misc.c | 43 +++++++++++++++++++++++++++++++++++++
udev/90-libinput-model-quirks.hwdb | 2 ++
udev/parse_hwdb.py | 8 ++++++-
6 files changed, 121 insertions(+), 13 deletions(-)
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index a24db9c..a35688b 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -2367,8 +2367,9 @@ tp_init_pressure(struct tp_dispatch *tp,
struct evdev_device *device)
{
const struct input_absinfo *abs;
- unsigned int range;
unsigned int code = ABS_PRESSURE;
+ const char *prop;
+ int hi, lo;
if (tp->has_mt)
code = ABS_MT_PRESSURE;
@@ -2378,25 +2379,44 @@ tp_init_pressure(struct tp_dispatch *tp,
return;
}
- tp->pressure.use_pressure = true;
-
abs = libevdev_get_abs_info(device->evdev, code);
assert(abs);
- range = abs->maximum - abs->minimum;
+ prop = udev_device_get_property_value(device->udev_device,
+ "LIBINPUT_ATTR_PRESSURE_RANGE");
+ if (prop) {
+ if (!parse_pressure_range_property(prop, &hi, &lo)) {
+ evdev_log_bug_client(device,
+ "discarding invalid pressure range '%s'\n",
+ prop);
+ return;
+ }
- if (device->model_flags & EVDEV_MODEL_ELANTECH_TOUCHPAD) {
- tp->pressure.high = 24;
- tp->pressure.low = 10;
- } else if (device->model_flags & EVDEV_MODEL_CYAPA) {
- tp->pressure.high = 10;
- tp->pressure.low = 8;
+ if (hi == 0 && lo == 0) {
+ evdev_log_info(device,
+ "pressure-based touch detection disabled\n");
+ return;
+ }
} else {
+ unsigned int range = abs->maximum - abs->minimum;
+
/* Approximately the synaptics defaults */
- tp->pressure.high = abs->minimum + 0.12 * range;
- tp->pressure.low = abs->minimum + 0.10 * range;
+ hi = abs->minimum + 0.12 * range;
+ lo = abs->minimum + 0.10 * range;
}
+ if (hi > abs->maximum || hi < abs->minimum ||
+ lo > abs->maximum || lo < abs->minimum) {
+ evdev_log_bug_libinput(device,
+ "discarding out-of-bounds pressure range %d:%d\n",
+ hi, lo);
+ return;
+ }
+
+ tp->pressure.use_pressure = true;
+ tp->pressure.high = hi;
+ tp->pressure.low = lo;
+
evdev_log_debug(device,
"using pressure-based touch detection\n");
}
diff --git a/src/libinput-util.c b/src/libinput-util.c
index 351bbe4..38594fa 100644
--- a/src/libinput-util.c
+++ b/src/libinput-util.c
@@ -360,6 +360,42 @@ parse_tpkbcombo_layout_poperty(const char *prop,
}
/**
+ * Parses a string of the format "a:b" where both a and b must be integer
+ * numbers and a > b. Also allowed is the special string vaule "none" which
+ * amounts to unsetting the property.
+ *
+ * @param prop The value of the property
+ * @param hi Set to the first digit or 0 in case of 'none'
+ * @param lo Set to the second digit or 0 in case of 'none'
+ * @return true on success, false otherwise
+ */
+bool
+parse_pressure_range_property(const char *prop, int *hi, int *lo)
+{
+ int first, second;
+
+ if (!prop)
+ return false;
+
+ if (streq(prop, "none")) {
+ *hi = 0;
+ *lo = 0;
+ return true;
+ }
+
+ if (sscanf(prop, "%d:%d", &first, &second) != 2)
+ return false;
+
+ if (second >= first)
+ return false;
+
+ *hi = first;
+ *lo = second;
+
+ return true;
+}
+
+/**
* Return the next word in a string pointed to by state before the first
* separator character. Call repeatedly to tokenize a whole string.
*
diff --git a/src/libinput-util.h b/src/libinput-util.h
index d86ff12..66fd336 100644
--- a/src/libinput-util.h
+++ b/src/libinput-util.h
@@ -378,6 +378,7 @@ int parse_mouse_wheel_click_count_property(const char *prop);
double parse_trackpoint_accel_property(const char *prop);
bool parse_dimension_property(const char *prop, size_t *width, size_t *height);
bool parse_calibration_property(const char *prop, float calibration[6]);
+bool parse_pressure_range_property(const char *prop, int *hi, int *lo);
enum tpkbcombo_layout {
TPKBCOMBO_LAYOUT_UNKNOWN,
diff --git a/test/test-misc.c b/test/test-misc.c
index 3f4b229..5101dcf 100644
--- a/test/test-misc.c
+++ b/test/test-misc.c
@@ -1001,6 +1001,48 @@ START_TEST(calibration_prop_parser)
}
END_TEST
+struct parser_test_pressure_range {
+ char *tag;
+ bool success;
+ int hi, lo;
+};
+
+START_TEST(pressure_range_prop_parser)
+{
+ struct parser_test_pressure_range tests[] = {
+ { "10:8", true, 10, 8 },
+ { "100:-1", true, 100, -1 },
+ { "-203813:-502023", true, -203813, -502023 },
+ { "238492:28210", true, 238492, 28210 },
+ { "none", true, 0, 0 },
+ { "0:0", false, 0, 0 },
+ { "", false, 0, 0 },
+ { "abcd", false, 0, 0 },
+ { "10:30:10", false, 0, 0 },
+ { NULL, false, 0, 0 }
+ };
+ int i;
+ int hi, lo;
+ bool success;
+
+ for (i = 0; tests[i].tag != NULL; i++) {
+ hi = lo = 0xad;
+ success = parse_pressure_range_property(tests[i].tag, &hi, &lo);
+ ck_assert(success == tests[i].success);
+ if (success) {
+ ck_assert_int_eq(hi, tests[i].hi);
+ ck_assert_int_eq(lo, tests[i].lo);
+ } else {
+ ck_assert_int_eq(hi, 0xad);
+ ck_assert_int_eq(lo, 0xad);
+ }
+ }
+
+ success = parse_pressure_range_property(NULL, NULL, NULL);
+ ck_assert(success == false);
+}
+END_TEST
+
START_TEST(time_conversion)
{
ck_assert_int_eq(us(10), 10);
@@ -1275,6 +1317,7 @@ litest_setup_tests_misc(void)
litest_add_no_device("misc:parser", dimension_prop_parser);
litest_add_no_device("misc:parser", reliability_prop_parser);
litest_add_no_device("misc:parser", calibration_prop_parser);
+ litest_add_no_device("misc:parser", pressure_range_prop_parser);
litest_add_no_device("misc:parser", safe_atoi_test);
litest_add_no_device("misc:parser", safe_atod_test);
litest_add_no_device("misc:parser", strsplit_test);
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index 2ff50b6..1b9876f 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -85,6 +85,7 @@ libinput:name:* Touchpad:dmi:*svnDellInc.:*
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
LIBINPUT_ATTR_RESOLUTION_HINT=31x31
+ LIBINPUT_ATTR_PRESSURE_RANGE=24:10
LIBINPUT_MODEL_ELANTECH_TOUCHPAD=1
##########################################
@@ -111,6 +112,7 @@ libinput:name:Atmel maXTouch Touchpad:dmi:*svn*GOOGLE*:pn*Samus*
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
LIBINPUT_MODEL_CYAPA=1
+ LIBINPUT_ATTR_PRESSURE_RANGE=10:8
##########################################
# HP
diff --git a/udev/parse_hwdb.py b/udev/parse_hwdb.py
index 2a342bf..97f04f4 100755
--- a/udev/parse_hwdb.py
+++ b/udev/parse_hwdb.py
@@ -112,7 +112,13 @@ def property_grammar():
Suppress('=') -
tpkbcombo_tags('VALUE')]
- grammar = Or(model_props + size_props + reliability + tpkbcombo)
+ pressure_range = INTEGER('X') + Suppress(':') + INTEGER('Y')
+ pressure_prop = [ Literal('LIBINPUT_ATTR_PRESSURE_RANGE')('NAME') -
+ Suppress('=') -
+ Group(pressure_range('SETTINGS*')) ]
+
+ grammar = Or(model_props + size_props + reliability + tpkbcombo +
+ pressure_prop)
return grammar
--
2.9.3

View File

@ -1,203 +0,0 @@
From 8ac3c49a6198e6ec9ee08d6959f30c949f059672 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed, 19 Apr 2017 14:11:45 +1000
Subject: [PATCH libinput 2/5] doc: add documentation for touchpad pressure
detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit bed7e62a0d92ccd3e985e73736b0990ac7219483)
---
doc/Makefile.am | 1 +
doc/faqs.dox | 5 ++
doc/page-hierarchy.dox | 1 +
doc/touchpad-pressure.dox | 138 ++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 145 insertions(+)
create mode 100644 doc/touchpad-pressure.dox
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 50fab04..af06272 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -29,6 +29,7 @@ header_files = \
$(srcdir)/test-suite.dox \
$(srcdir)/tools.dox \
$(srcdir)/touchpad-jumping-cursors.dox \
+ $(srcdir)/touchpad-pressure.dox \
$(srcdir)/touchpads.dox \
$(srcdir)/what-is-libinput.dox
diff --git a/doc/faqs.dox b/doc/faqs.dox
index 0b8db83..7820ad4 100644
--- a/doc/faqs.dox
+++ b/doc/faqs.dox
@@ -15,6 +15,11 @@ motion_normalization for a detailed explanation.
See @ref tapping_default
+@section faq_touchpad_pressure Why does my touchpad lose track of touches
+
+The most common cause for this is an incorrect pressure threshold range.
+See @ref touchpad_pressure for more info.
+
@section faq_kinetic_scrolling Kinetic scrolling does not work
The X.Org synaptics driver implemented kinetic scrolling in the driver. It
diff --git a/doc/page-hierarchy.dox b/doc/page-hierarchy.dox
index ebfb65c..65749fe 100644
--- a/doc/page-hierarchy.dox
+++ b/doc/page-hierarchy.dox
@@ -5,6 +5,7 @@
- @subpage clickpad_softbuttons
- @subpage tapping
- @subpage gestures
+- @subpage touchpad_pressure
- @subpage palm_detection
- @subpage t440_support
- @subpage touchpad_jumping_cursor
diff --git a/doc/touchpad-pressure.dox b/doc/touchpad-pressure.dox
new file mode 100644
index 0000000..7c55c9f
--- /dev/null
+++ b/doc/touchpad-pressure.dox
@@ -0,0 +1,138 @@
+/**
+@page touchpad_pressure Touchpad pressure-based touch detection
+
+libinput uses the touchpad pressure values to detect wether a finger has
+been placed on the touchpad. This is @ref kernel_pressure_information and
+combines with a libinput-specific hardware database to adjust the thresholds
+on a per-device basis. libinput uses pressure thresholds primarily to filter
+out accidental light touches but pressure information is also used for
+some @ref palm_detection.
+
+Pressure thresholds are **not** directly configurable by the user, rather it
+is planned that libinput provides custom pressure thresholds for each device
+where necessary. See @ref touchpad_pressure_hwdb for instructions for your
+local device.
+
+@section kernel_pressure_information Information provided by the kernel
+
+The kernel sends multiple values to inform userspace about a finger touching
+the touchpad. The most basic is the ```EV_KEY/BTN_TOUCH``` boolean event
+that simply announces physical contact with the touchpad. The decision when
+this event is sent is usually made by the kernel driver and may depend on
+device-specific thresholds. These thresholds are transparent to userspace
+and cannot be modified.
+
+Many contemporary touchpad devices provide an absolute pressure axis in
+addition to ```BTN_TOUCH```. This pressure generally increases as the pressure
+increases, however few touchpads are capable of detection pressure. The
+pressure value is usually related to the covered area - as the pressure
+increases a finger flattens and thus covers a larger area. The range
+provided by the kernel is not mapped to a specific physical range and
+often requires adjustment. Pressure is sent by the ```ABS_PRESSURE``` axis
+for single-touch touchpads or ```ABS_MT_PRESSURE``` on multi-touch capable
+touchpads.
+
+Some devices provide additional touch size information through
+the ```ABS_MT_TOUCH_MAJOR/ABS_MT_TOUCH_MINOR``` axes and/or
+the ```ABS_MT_WIDTH_MAJOR/ABS_MT_WIDTH_MINOR``` axes. While the kernel
+documentation specifies how these axes are supposed to be mapped, few
+devices forward
+reliable information.
+
+@section touchpad_pressure_hwdb Debugging touchpad pressure ranges
+
+This section describes how to determine the touchpad pressure ranges
+required for a touchpad device and how to add the required hwdb entry
+locally. Note that the hwdb entry is **not public API** and **may change at
+any time**. Users are advised to @ref reporting_bugs "report a bug" with the
+updated pressure ranges when testing has completed.
+
+First, install the "evemu" package providing the ```evemu-record``` tool.
+Run ```evemu-record``` as root (without arguments) to see a list of devices
+and select the touchpad device. Pipe the actual output of the tool into a
+file for later analysis. For example:
+
+<pre>
+$ sudo evemu-record > touchpad-pressure.txt
+Available devices:
+/dev/input/event0: Lid Switch
+/dev/input/event1: Sleep Button
+/dev/input/event2: Power Button
+/dev/input/event3: AT Translated Set 2 keyboard
+/dev/input/event4: SynPS/2 Synaptics TouchPad
+/dev/input/event5: ELAN Touchscreen
+[...]
+Select the device event number [0-19]: 4
+# Ctrl+C to quit, the output will be in touchpad-pressure.txt
+</pre>
+
+Now move a finger at **normal pressure** several times around the touchpad,
+as if moving the cursor normally around the screen. Avoid any accidental
+palm touches or any excessive or light pressure.
+
+The event recording is then filtered for pressure information, which is
+sorted and exported to a new file:
+<pre>
+$ grep --only-matching "ABS_MT_PRESSURE[ ]*[0-9]*" touchpad-pressure.txt | \
+ sed -e "s/ABS_MT_PRESSURE[ ]*//" | \
+ sort -n | uniq -c > touchpad-pressure-statistics.txt
+</pre>
+
+The file contains a list of (count, pressure-value) tuples which can be
+visualized with gnuplot. Copy the following into a file named
+```touchpad-pressure-statistics.gnuplot```:
+
+<pre>
+set style data lines
+plot 'touchpad-pressure-statistics.txt' using 2:1
+pause -1
+</pre>
+
+Now, you can visualize the touchpad pressure curve with the following
+command:
+<pre>
+$ gnuplot touchpad-pressure-statistics.gnuplot
+</pre>
+
+The visualization will show a curve with the various pressure ranges, see
+[this bugzilla attachment](https://bugs.freedesktop.org/attachment.cgi?id=130659).
+In most cases, the thresholds can be guessed based on this curve. libinput
+employes a [Schmitt trigger](https://en.wikipedia.org/wiki/Schmitt_trigger)
+with an upper threshold and a lower threshold. A touch is detected when the
+pressure goes above the high threshold, a release is detected when the
+pressure fallse below the low threshold. Thus, an ideal threshold
+combination is with a high threshold slightly above the minimum threshold, a
+low threshold on the minimum threshold.
+
+Once the thresholds are decided on (e.g. 10 and 8), they can be enabled with
+the following hwdb file:
+
+<pre>
+$> cat /etc/udev/hwdb.d/99-touchpad-pressure.hwdb
+libinput:name:*SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq6910p*
+ LIBINPUT_ATTR_PRESSURE_RANGE=10:8
+</pre>
+
+The first line is the match line and should be adjusted for the device name
+(see evemu-record's output) and for the local system, based on the
+information in ```/sys/class/dmi/id/modalias```. The modalias should be
+shortened to the specific system's information, usually system vendor (svn)
+and product name (pn).
+
+Once in place, you need to run the following to commands, adjusted for your
+device's event node (see @ref faq_hwdb_changes):
+<pre>
+ sudo udevadm hwdb --update
+ sudo udevadm test /sys/class/input/eventX
+</pre>
+
+If the pressure range property shows up correctly, restart X or the
+Wayland compositor and libinput should now use the correct pressure
+thresholds. The @ref developer_tools can be used to verify the correct
+functionality first without the need for a restart.
+
+Once the pressure ranges are deemed correct,
+@ref reporting_bugs "report a bug" to get the pressure ranges into the
+repository.
+
+*/
--
2.9.3

View File

@ -1,60 +0,0 @@
From c24abedeb4d5fc0245dfcd7e3eed3561f5767b11 Mon Sep 17 00:00:00 2001
From: Paul Kocialkowski <contact@paulk.fr>
Date: Fri, 28 Apr 2017 15:29:02 +0200
Subject: [PATCH libinput 3/5] udev: Remove unused Elantech touchpad model
binding
The Elantech touchpad model binding in udev is currently unused, since
pressure values were moved to a udev binding of their own.
This gets rid of the deprecated model binding.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 6af9f8e5fbb9f5588eeb51185d2cc0d7f93d34ee)
---
src/evdev.c | 1 -
src/evdev.h | 1 -
udev/90-libinput-model-quirks.hwdb | 1 -
3 files changed, 3 deletions(-)
diff --git a/src/evdev.c b/src/evdev.c
index 2d18bed..3b4bc4b 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2245,7 +2245,6 @@ evdev_read_model_flags(struct evdev_device *device)
MODEL(ALPS_TOUCHPAD),
MODEL(SYNAPTICS_SERIAL_TOUCHPAD),
MODEL(JUMPING_SEMI_MT),
- MODEL(ELANTECH_TOUCHPAD),
MODEL(APPLE_INTERNAL_KEYBOARD),
MODEL(CYBORG_RAT),
MODEL(CYAPA),
diff --git a/src/evdev.h b/src/evdev.h
index 465b8a3..c9a44f8 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -111,7 +111,6 @@ enum evdev_device_model {
EVDEV_MODEL_ALPS_TOUCHPAD = (1 << 8),
EVDEV_MODEL_SYNAPTICS_SERIAL_TOUCHPAD = (1 << 9),
EVDEV_MODEL_JUMPING_SEMI_MT = (1 << 10),
- EVDEV_MODEL_ELANTECH_TOUCHPAD = (1 << 11),
EVDEV_MODEL_LENOVO_X220_TOUCHPAD_FW81 = (1 << 12),
EVDEV_MODEL_APPLE_INTERNAL_KEYBOARD = (1 << 13),
EVDEV_MODEL_CYBORG_RAT = (1 << 14),
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index 1b9876f..eaa9345 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -86,7 +86,6 @@ libinput:name:* Touchpad:dmi:*svnDellInc.:*
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
LIBINPUT_ATTR_RESOLUTION_HINT=31x31
LIBINPUT_ATTR_PRESSURE_RANGE=24:10
- LIBINPUT_MODEL_ELANTECH_TOUCHPAD=1
##########################################
# Google
--
2.9.3

View File

@ -1,35 +0,0 @@
From 17692e5d24870e384f40ba95197396d868ab2b8b Mon Sep 17 00:00:00 2001
From: Paul Kocialkowski <contact@paulk.fr>
Date: Fri, 28 Apr 2017 15:29:03 +0200
Subject: [PATCH libinput 4/5] udev: Select more generic pressure range values
for Elantech touchpads
The current pressure values for Elantech touchpads are too high for
various devices and make the touchpad almost unusable on them.
Decreasing the pressure range values makes those devices usable again.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 1dfedc6995cf63e004bd3e0b1d22ae263feb7362)
---
udev/90-libinput-model-quirks.hwdb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index eaa9345..73734e6 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -85,7 +85,7 @@ libinput:name:* Touchpad:dmi:*svnDellInc.:*
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
LIBINPUT_ATTR_RESOLUTION_HINT=31x31
- LIBINPUT_ATTR_PRESSURE_RANGE=24:10
+ LIBINPUT_ATTR_PRESSURE_RANGE=10:8
##########################################
# Google
--
2.9.3

View File

@ -1,36 +0,0 @@
From 4ab9c15cac163e27f2b92726019c165eaecb7451 Mon Sep 17 00:00:00 2001
From: Paul Kocialkowski <contact@paulk.fr>
Date: Fri, 28 Apr 2017 15:29:04 +0200
Subject: [PATCH libinput 5/5] udev: Add specific pressure range for the ASUS
ZenBook UX21E
This adds specific pressure range values for the Elantech touchpad
found in the ASUS ZenBook UX21E.
https://bugs.freedesktop.org/show_bug.cgi?id=99975
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 46af543b49b4e2d75348c715d1c76c2e0d432514)
---
udev/90-libinput-model-quirks.hwdb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index 73734e6..560e77a 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -87,6 +87,9 @@ libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
LIBINPUT_ATTR_RESOLUTION_HINT=31x31
LIBINPUT_ATTR_PRESSURE_RANGE=10:8
+libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnASUSTeKComputerInc.:pnUX21E:*
+ LIBINPUT_ATTR_PRESSURE_RANGE=24:10
+
##########################################
# Google
##########################################
--
2.9.3

View File

@ -4,8 +4,8 @@
%global gitversion 58abea394
Name: libinput
Version: 1.7.1
Release: 4%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Version: 1.7.2
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Summary: Input device library
License: MIT
@ -18,12 +18,6 @@ Source2: commitid
Source0: http://www.freedesktop.org/software/libinput/libinput-%{version}.tar.xz
%endif
Patch01: 0001-touchpad-move-the-pressure-range-to-a-hwdb-entry.patch
Patch02: 0002-doc-add-documentation-for-touchpad-pressure-detectio.patch
Patch03: 0003-udev-Remove-unused-Elantech-touchpad-model-binding.patch
Patch04: 0004-udev-Select-more-generic-pressure-range-values-for-E.patch
Patch05: 0005-udev-Add-specific-pressure-range-for-the-ASUS-ZenBoo.patch
Patch06: 0001-lid-re-init-the-event-listener-after-removing-it.patch
BuildRequires: git
@ -102,6 +96,9 @@ find $RPM_BUILD_ROOT -name '*.la' -delete
%changelog
* Tue May 09 2017 Peter Hutterer <peter.hutterer@redhat.com> 1.7.2-1
- libinput 1.7.2
* Thu May 04 2017 Peter Hutterer <peter.hutterer@redhat.com> 1.7.1-4
- Fix a crash when shutting down a touchpad lid listener (#1440927)

View File

@ -1 +1 @@
SHA512 (libinput-1.7.1.tar.xz) = ee477fbbe2042ffeff70a960caf97e914d28c916af495765071a0184f442fa503d461bc34b87dc3dd62ef1bfd3e921ddc6fc065f8089d16d81c037d53d677352
SHA512 (libinput-1.7.2.tar.xz) = cdbd2994e954aac9538fe907c275e6e23e2bed0e9c4c65f19591bdcdbf5074131c72b92e87de87c03f75a991fcdb7f568b491a12f00031c4eba11082ca44d69f