mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-22 23:10:37 +01:00
Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff5186651b | ||
|
|
68f124b979 | ||
|
|
e1fe0cd5c5 | ||
|
|
ba29b3a96c | ||
|
|
3320c6df90 | ||
|
|
168aad057d | ||
|
|
156e53dc12 |
14 changed files with 46 additions and 28 deletions
2
COPYING
2
COPYING
|
|
@ -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
|
||||
|
|
|
|||
22
README.md
22
README.md
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
##########################################
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue