mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-30 13:00:42 +02:00
Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23388c99c3 | ||
|
|
657c087286 | ||
|
|
6614604e9a | ||
|
|
d7d64d9871 | ||
|
|
33a6613671 | ||
|
|
92be97b045 |
6 changed files with 87 additions and 3 deletions
17
README.txt
17
README.txt
|
|
@ -67,6 +67,23 @@ http://wayland.freedesktop.org/libinput/doc/latest/modules.html
|
|||
High-level documentation about libinput's features:
|
||||
http://wayland.freedesktop.org/libinput/doc/latest/pages.html
|
||||
|
||||
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/event-debug.c
|
||||
- A GTK application that draws cursor/touch/tablet positions: https://cgit.freedesktop.org/wayland/libinput/tree/tools/event-gui.c
|
||||
|
||||
libinput provides a
|
||||
[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) file.
|
||||
Usually a program will use the `PKG_CHECK_MODULES` autoconf macro.
|
||||
Otherwise, the most rudimentary way to compile and link a program against
|
||||
libinput is:
|
||||
|
||||
gcc -o myprogram myprogram.c `pkg-config --cflags --libs libinput`
|
||||
|
||||
For further information on using pkgconfig see the pkg-config documentation.
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ AC_PREREQ([2.64])
|
|||
|
||||
m4_define([libinput_major_version], [1])
|
||||
m4_define([libinput_minor_version], [4])
|
||||
m4_define([libinput_micro_version], [0])
|
||||
m4_define([libinput_micro_version], [1])
|
||||
m4_define([libinput_version],
|
||||
[libinput_major_version.libinput_minor_version.libinput_micro_version])
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
|
|||
# b) If interfaces have been changed or added, but binary compatibility has
|
||||
# been preserved, change to C+1:0:A+1
|
||||
# c) If the interface is the same as the previous version, change to C:R+1:A
|
||||
LIBINPUT_LT_VERSION=19:1:9
|
||||
LIBINPUT_LT_VERSION=19:2:9
|
||||
AC_SUBST(LIBINPUT_LT_VERSION)
|
||||
|
||||
AM_SILENT_RULES([yes])
|
||||
|
|
|
|||
46
doc/faqs.dox
46
doc/faqs.dox
|
|
@ -54,6 +54,52 @@ option is not exposed by the intermediary, it cannot be configured by the
|
|||
client. Also some configuration options that are provided by the
|
||||
intermediary may not be libinput-specific configuration options.
|
||||
|
||||
@section faq_configure_wayland How do I configure my device on Wayland?
|
||||
|
||||
See @ref faq_config_options Use the configuration tool provided by your
|
||||
desktop environment (e.g. gnome-control-center) or direct access to your
|
||||
desktop environment's configuration storage (e.g. gsettings).
|
||||
|
||||
@section faq_configure_xorg How do I configure my device on X?
|
||||
|
||||
See @ref faq_config_options If your desktop environment does not provide a
|
||||
graphical configuration tool you can use an
|
||||
<a href="https://www.x.org/archive/current/doc/man/man5/xorg.conf.5.xhtml">xorg.conf.d snippet</a>.
|
||||
Usually, such a snippet looks like this:
|
||||
<pre>
|
||||
$> cat /etc/X11/xorg.conf.d/99-libinput-custom-config.conf
|
||||
Section "InputClass"
|
||||
Identifier "something to identify this snippet"
|
||||
MatchDriver "libinput"
|
||||
MatchProduct "substring of the device name"
|
||||
Option "some option name" "the option value"
|
||||
EndSection
|
||||
</pre>
|
||||
|
||||
The identifier is merely a human-readable string that shows up in the log
|
||||
file. The MatchProduct line should contain the device name or a substring of
|
||||
the device name that the snippet should apply to. For a full list of option
|
||||
names and permitted values, see the
|
||||
<a href="https://www.mankier.com/4/libinput">libinput man page</a>.
|
||||
xorg.conf.d snippets like the above apply to hotplugged devices but can be
|
||||
overwritten at runtime by desktop tools. Multiple snippets may be placed
|
||||
into the same file.
|
||||
|
||||
For run-time configuration and testing, the
|
||||
<a href="https://www.x.org/archive/X11R7.5/doc/man/man1/xinput.1.html">xinput</a>
|
||||
debugging tool can modify a devices' properties. See the
|
||||
<a href="https://www.mankier.com/4/libinput">libinput man page</a>
|
||||
for supported property names and values. Usually, an invocation looks like
|
||||
this:
|
||||
<pre>
|
||||
$> xinput set-prop "the device name" "the property name" value [value2] [value3]
|
||||
</pre>
|
||||
|
||||
@note
|
||||
Changes performed by xinput do not persist across device hotplugs. xinput is
|
||||
considered a debugging and testing tool only and should not be used for
|
||||
permanent configurations.
|
||||
|
||||
@section faq_hwdb_changes How to apply hwdb changes
|
||||
|
||||
Sometimes users are asked to test updates to the <a
|
||||
|
|
|
|||
|
|
@ -1589,6 +1589,24 @@ evdev_tag_touchpad(struct evdev_device *device,
|
|||
struct udev_device *udev_device)
|
||||
{
|
||||
int bustype, vendor;
|
||||
const char *prop;
|
||||
|
||||
prop = udev_device_get_property_value(udev_device,
|
||||
"ID_INPUT_TOUCHPAD_INTEGRATION");
|
||||
if (prop) {
|
||||
if (streq(prop, "internal")) {
|
||||
evdev_tag_touchpad_internal(device);
|
||||
return;
|
||||
} else if (streq(prop, "external")) {
|
||||
evdev_tag_touchpad_external(device);
|
||||
return;
|
||||
} else {
|
||||
log_info(evdev_libinput_context(device),
|
||||
"%s: tagged as unknown value %s\n",
|
||||
device->devname,
|
||||
prop);
|
||||
}
|
||||
}
|
||||
|
||||
/* simple approach: touchpads on USB or Bluetooth are considered
|
||||
* external, anything else is internal. Exception is Apple -
|
||||
|
|
|
|||
|
|
@ -3038,7 +3038,9 @@ evdev_tablet_has_left_handed(struct evdev_device *device)
|
|||
if (libwacom_is_reversible(d))
|
||||
has_left_handed = true;
|
||||
} else if (libwacom_error_get_code(error) == WERROR_UNKNOWN_MODEL) {
|
||||
log_info(libinput, "Tablet unknown to libwacom\n");
|
||||
log_info(libinput,
|
||||
"%s: tablet unknown to libwacom\n",
|
||||
device->devname);
|
||||
} else {
|
||||
log_error(libinput,
|
||||
"libwacom error: %s\n",
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ ACTION!="add|change", GOTO="libinput_device_group_end"
|
|||
KERNEL!="event[0-9]*", GOTO="libinput_device_group_end"
|
||||
|
||||
ATTRS{phys}=="?*", \
|
||||
ENV{LIBINPUT_DEVICE_GROUP}=="", \
|
||||
PROGRAM="@UDEV_TEST_PATH@libinput-device-group %S%p", \
|
||||
ENV{LIBINPUT_DEVICE_GROUP}="%c"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue