mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-31 21:40:34 +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:
|
High-level documentation about libinput's features:
|
||||||
http://wayland.freedesktop.org/libinput/doc/latest/pages.html
|
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
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ AC_PREREQ([2.64])
|
||||||
|
|
||||||
m4_define([libinput_major_version], [1])
|
m4_define([libinput_major_version], [1])
|
||||||
m4_define([libinput_minor_version], [4])
|
m4_define([libinput_minor_version], [4])
|
||||||
m4_define([libinput_micro_version], [0])
|
m4_define([libinput_micro_version], [1])
|
||||||
m4_define([libinput_version],
|
m4_define([libinput_version],
|
||||||
[libinput_major_version.libinput_minor_version.libinput_micro_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
|
# b) If interfaces have been changed or added, but binary compatibility has
|
||||||
# been preserved, change to C+1:0:A+1
|
# 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
|
# 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)
|
AC_SUBST(LIBINPUT_LT_VERSION)
|
||||||
|
|
||||||
AM_SILENT_RULES([yes])
|
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
|
client. Also some configuration options that are provided by the
|
||||||
intermediary may not be libinput-specific configuration options.
|
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
|
@section faq_hwdb_changes How to apply hwdb changes
|
||||||
|
|
||||||
Sometimes users are asked to test updates to the <a
|
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)
|
struct udev_device *udev_device)
|
||||||
{
|
{
|
||||||
int bustype, vendor;
|
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
|
/* simple approach: touchpads on USB or Bluetooth are considered
|
||||||
* external, anything else is internal. Exception is Apple -
|
* 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))
|
if (libwacom_is_reversible(d))
|
||||||
has_left_handed = true;
|
has_left_handed = true;
|
||||||
} else if (libwacom_error_get_code(error) == WERROR_UNKNOWN_MODEL) {
|
} 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 {
|
} else {
|
||||||
log_error(libinput,
|
log_error(libinput,
|
||||||
"libwacom error: %s\n",
|
"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"
|
KERNEL!="event[0-9]*", GOTO="libinput_device_group_end"
|
||||||
|
|
||||||
ATTRS{phys}=="?*", \
|
ATTRS{phys}=="?*", \
|
||||||
|
ENV{LIBINPUT_DEVICE_GROUP}=="", \
|
||||||
PROGRAM="@UDEV_TEST_PATH@libinput-device-group %S%p", \
|
PROGRAM="@UDEV_TEST_PATH@libinput-device-group %S%p", \
|
||||||
ENV{LIBINPUT_DEVICE_GROUP}="%c"
|
ENV{LIBINPUT_DEVICE_GROUP}="%c"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue