Compare commits

...

7 commits
main ... 1.11.1

Author SHA1 Message Date
Peter Hutterer
ff5186651b libinput 1.11.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-19 14:32:00 +10:00
Peter Hutterer
68f124b979 tools: fix grab argument passing for libinput debug-events
The &grab pointer we used to pass as userdata was the address of the function
argument which goes out of scope at the end of the function. This works fine
for devices immediately opened but when a device connects later, the address
may have been re-used since and it's content is undefined. If not NULL, we
end up grabbing the device.

Instead pass the grab option in which is guaranteed to live until the end of
main.

https://gitlab.freedesktop.org/libinput/libinput/issues/26

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 0a13223c39)
2018-06-15 12:37:31 +10:00
Peter Hutterer
e1fe0cd5c5 touchpad: don't pair external touchpads with lid/tablet mode switches
https://gitlab.freedesktop.org/libinput/libinput/issues/29

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 46b64c7363)
2018-06-15 12:37:05 +10:00
Peter Hutterer
ba29b3a96c COPYING: change a cgit to a gitlab URL
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 66d8c79e16)
2018-06-15 12:37:01 +10:00
Daniel Stone
3320c6df90 doc: Fix URLs for GitLab, HTTPS
The GitLab migrations means that bugs should now be reported there
rather than Bugzilla. Though the repository is still available via
anongit, cloning through GitLab allows use of HTTPS.

All freedesktop.org URLs are also preferentially served over HTTPS
rather than unsecured HTTP.

Signed-off-by: Daniel Stone <daniels@collabora.com>
(cherry picked from commit 94dba68f96)
2018-06-15 12:36:58 +10:00
Peter Hutterer
168aad057d filter: cap trackpoint scale factor at 1.0
Otherwise we scale up lower-resolution trackpoints' movements, resulting in a
jumpy cursor.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 483123d490)
2018-06-15 12:36:56 +10:00
Peter Hutterer
156e53dc12 udev: the IBM X41 Tablet must not disable the keyboard in tablet mode
https://bugs.freedesktop.org/show_bug.cgi?id=106799

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 07eefba84b)
2018-06-15 12:36:52 +10:00
14 changed files with 46 additions and 28 deletions

View file

@ -31,4 +31,4 @@ This copy is provided to provide consistent behavior regardless which kernel
version libinput is compiled against. The header is used during compilation
only, libinput does not link against GPL libraries.
[1] http://cgit.freedesktop.org/wayland/libinput/tree/include/linux/input.h
[1] https://gitlab.freedesktop.org/libinput/libinput/blob/master/include/linux/input.h

View file

@ -40,19 +40,19 @@ Source code
-----------
The source code of libinput can be found at:
http://cgit.freedesktop.org/wayland/libinput
https://gitlab.freedesktop.org/libinput/libinput
For a list of current and past releases visit:
http://www.freedesktop.org/wiki/Software/libinput/
https://www.freedesktop.org/wiki/Software/libinput/
Build instructions:
http://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html
https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html
Reporting Bugs
--------------
Bugs can be filed in the libinput component of Wayland:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=libinput
Bugs can be filed on freedesktop.org GitLab:
https://gitlab.freedesktop.org/libinput/libinput/issues/
Where possible, please provide the `libinput record` output
of the input device and/or the event sequence in question.
@ -62,19 +62,19 @@ See @ref reporting_bugs for more info.
Documentation
-------------
- Developer API documentation: http://wayland.freedesktop.org/libinput/doc/latest/modules.html
- Developer API documentation: https://wayland.freedesktop.org/libinput/doc/latest/modules.html
- High-level documentation about libinput's features:
http://wayland.freedesktop.org/libinput/doc/latest/pages.html
https://wayland.freedesktop.org/libinput/doc/latest/pages.html
- Build instructions:
http://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html
https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html
- Documentation for previous versions of libinput: https://wayland.freedesktop.org/libinput/doc/
Examples of how to use libinput are the debugging tools in the libinput
repository. Developers are encouraged to look at those tools for a
real-world (yet simple) example on how to use libinput.
- A commandline debugging tool: https://cgit.freedesktop.org/wayland/libinput/tree/tools/libinput-debug-events.c
- A GTK application that draws cursor/touch/tablet positions: https://cgit.freedesktop.org/wayland/libinput/tree/tools/libinput-debug-gui.c
- A commandline debugging tool: https://gitlab.freedesktop.org/libinput/libinput/tree/master/tools/libinput-debug-events.c
- A GTK application that draws cursor/touch/tablet positions: https://gitlab.freedesktop.org/libinput/libinput/tree/master/tools/libinput-debug-gui.c
License
-------
@ -88,5 +88,5 @@ libinput is licensed under the MIT license.
> and/or sell copies of the Software, and to permit persons to whom the
> Software is furnished to do so, subject to the following conditions: [...]
See the [COPYING](http://cgit.freedesktop.org/wayland/libinput/tree/COPYING)
See the [COPYING](https://gitlab.freedesktop.org/libinput/libinput/tree/master/COPYING)
file for the full license information.

View file

@ -18,7 +18,7 @@ process below. A successful build requires the @ref
building_dependencies to be installed before running meson.
@code
$> git clone git://anongit.freedesktop.org/git/wayland/libinput
$> git clone https://gitlab.freedesktop.org/libinput/libinput
$> cd libinput
$> meson --prefix=/usr builddir/
$> ninja -C builddir/
@ -189,7 +189,7 @@ requires the @ref building_dependencies to be installed at configure
time.
@code
$> git clone git://anongit.freedesktop.org/git/wayland/libinput
$> git clone https://gitlab.freedesktop.org/libinput/libinput
$> cd libinput
$> ./autogen.sh --prefix=/usr --libdir=/usr/lib64
$> make

View file

@ -49,7 +49,7 @@ the udev property <b>MOUSE_DPI</b> for this information. This property is usuall
set via the <a
href="http://cgit.freedesktop.org/systemd/systemd/tree/hwdb/70-mouse.hwdb">udev hwdb</a>.
The "mouse-dpi-tool" utility provided by <a
href="http://freedesktop.org/wiki/Software/libevdev/">libevdev</a> should be
href="https://freedesktop.org/wiki/Software/libevdev/">libevdev</a> should be
used to measure a device's resolution.
The format of the property for single-resolution mice is:

View file

@ -2,7 +2,7 @@
@page reporting_bugs Reporting bugs
A new bug can be filed here:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=libinput
https://gitlab.freedesktop.org/libinput/libinput
When reporting bugs against libinput, please follow the instructions below
and provide the required data. You will need:
@ -182,7 +182,7 @@ E: USEC_INITIALIZED=5463031
@note Where available, the @ref libinput-record tools should be used instead
of evemu
<a href="http://www.freedesktop.org/wiki/Evemu/">evemu</a> records the
<a href="https://www.freedesktop.org/wiki/Evemu/">evemu</a> records the
device capabilities together with the event stream from the kernel. On our
side, this allows us to recreate a virtual device identical to your device
and re-play the event sequence, hopefully triggering the same bug.

View file

@ -15,7 +15,7 @@ even though some hardware can distinguish between that many fingers.
@section tapping_default Tap-to-click default setting
Tapping is **disabled** by default on most devices, see [this
commit](http://cgit.freedesktop.org/wayland/libinput/commit/?id=2219c12c3aa45b80f235e761e87c17fb9ec70eae)
commit](https://gitlab.freedesktop.org/libinput/libinput/commit/2219c12c3aa45b80f235e761e87c17fb9ec70eae)
because:
- if you don't know that tapping is a thing (or enabled by default), you get
spurious button events that make the desktop feel buggy.

View file

@ -1,5 +1,5 @@
project('libinput', 'c', 'cpp',
version : '1.11.0',
version : '1.11.1',
license : 'MIT/Expat',
default_options : [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.40.0')

View file

@ -2253,6 +2253,9 @@ tp_pair_lid_switch(struct evdev_device *touchpad,
if ((lid_switch->tags & EVDEV_TAG_LID_SWITCH) == 0)
return;
if (touchpad->tags & EVDEV_TAG_EXTERNAL_TOUCHPAD)
return;
if (tp->lid_switch.lid_switch == NULL) {
evdev_log_debug(touchpad,
"lid_switch: activated for %s<->%s\n",
@ -2278,6 +2281,9 @@ tp_pair_tablet_mode_switch(struct evdev_device *touchpad,
if (tp->tablet_mode_switch.tablet_mode_switch)
return;
if (touchpad->tags & EVDEV_TAG_EXTERNAL_TOUCHPAD)
return;
evdev_log_debug(touchpad,
"tablet_mode_switch: activated for %s<->%s\n",
touchpad->devname,

View file

@ -299,10 +299,17 @@ create_pointer_accelerator_filter_trackpoint(int max_hw_delta)
return NULL;
filter->history_size = ARRAY_LENGTH(filter->history);
filter->scale_factor = 1.0 * TRACKPOINT_DEFAULT_RANGE / max_hw_delta;
filter->max_accel = TRACKPOINT_DEFAULT_MAX_ACCEL;
filter->max_delta = TRACKPOINT_DEFAULT_MAX_DELTA;
filter->scale_factor = 1.0 * TRACKPOINT_DEFAULT_RANGE / max_hw_delta;
/* Crop to a maximum 1.0 for the scale factor, otherwise we scale up
* events from low-res trackpoints when really we should just take
* those as-is.
*/
filter->scale_factor = min(1.0, filter->scale_factor);
filter->base.interface = &accelerator_interface_trackpoint;
return &filter->base;

View file

@ -991,7 +991,7 @@ main(int argc, char **argv)
return 1;
}
li = tools_open_backend(backend, seat_or_device, verbose, grab);
li = tools_open_backend(backend, seat_or_device, verbose, &grab);
if (!li)
return 1;

View file

@ -958,7 +958,7 @@ main(int argc, char **argv)
return 1;
}
li = tools_open_backend(backend, seat_or_device, verbose, grab);
li = tools_open_backend(backend, seat_or_device, verbose, &grab);
if (!li)
return 1;

View file

@ -251,7 +251,7 @@ static const struct libinput_interface interface = {
};
static struct libinput *
tools_open_udev(const char *seat, bool verbose, bool grab)
tools_open_udev(const char *seat, bool verbose, bool *grab)
{
struct libinput *li;
struct udev *udev = udev_new();
@ -261,7 +261,7 @@ tools_open_udev(const char *seat, bool verbose, bool grab)
return NULL;
}
li = libinput_udev_create_context(&interface, &grab, udev);
li = libinput_udev_create_context(&interface, grab, udev);
if (!li) {
fprintf(stderr, "Failed to initialize context from udev\n");
goto out;
@ -285,12 +285,12 @@ out:
}
static struct libinput *
tools_open_device(const char *path, bool verbose, bool grab)
tools_open_device(const char *path, bool verbose, bool *grab)
{
struct libinput_device *device;
struct libinput *li;
li = libinput_path_create_context(&interface, &grab);
li = libinput_path_create_context(&interface, grab);
if (!li) {
fprintf(stderr, "Failed to initialize context from %s\n", path);
return NULL;
@ -315,7 +315,7 @@ struct libinput *
tools_open_backend(enum tools_backend which,
const char *seat_or_device,
bool verbose,
bool grab)
bool *grab)
{
struct libinput *li;

View file

@ -104,7 +104,7 @@ int tools_parse_option(int option,
struct libinput* tools_open_backend(enum tools_backend which,
const char *seat_or_device,
bool verbose,
bool grab);
bool *grab);
void tools_device_apply_config(struct libinput_device *device,
struct tools_options *options);
int tools_exec_command(const char *prefix, int argc, char **argv);

View file

@ -220,6 +220,11 @@ libinput:mouse:b0003v04B3p3109*
libinput:mouse:b0003v17EFp6049*
LIBINPUT_MODEL_LENOVO_SCROLLPOINT=1
# Lenovo Thinkpad X41 Tablet has lid buttons to be used in tablet mode
# (#103749)
libinput:name:AT Translated Set 2 keyboard:dmi:*svnIBM:*pvrThinkPadX41Tablet:*
LIBINPUT_MODEL_TABLET_MODE_NO_SUSPEND=1
##########################################
# LENOVO
##########################################