libinput 1.7.2
This commit is contained in:
parent
9ceb958d7a
commit
9f62f55614
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/libinput-1.7.1.tar.xz
|
||||
/libinput-1.7.2.tar.xz
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libinput-1.7.1.tar.xz) = ee477fbbe2042ffeff70a960caf97e914d28c916af495765071a0184f442fa503d461bc34b87dc3dd62ef1bfd3e921ddc6fc065f8089d16d81c037d53d677352
|
||||
SHA512 (libinput-1.7.2.tar.xz) = cdbd2994e954aac9538fe907c275e6e23e2bed0e9c4c65f19591bdcdbf5074131c72b92e87de87c03f75a991fcdb7f568b491a12f00031c4eba11082ca44d69f
|
||||
|
Loading…
Reference in New Issue
Block a user