mirror of
https://github.com/X11Libre/xf86-input-libinput.git
synced 2026-03-24 17:44:05 +00:00
Compare commits
40 Commits
xf86-input
...
xf86-input
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c3ce3ce3c | ||
|
|
4d481ea7c8 | ||
|
|
72bac84df9 | ||
|
|
0b073d90e6 | ||
|
|
669fbb0985 | ||
|
|
c4f0a9bcb8 | ||
|
|
a61e156326 | ||
|
|
552cbaf466 | ||
|
|
bc91d337d7 | ||
|
|
c8d2293873 | ||
|
|
a7014aa8c6 | ||
|
|
bf7fffde52 | ||
|
|
7282177756 | ||
|
|
1dd61abf7e | ||
|
|
c80954386d | ||
|
|
a790ff35f9 | ||
|
|
6318ac420b | ||
|
|
cd02040a5d | ||
|
|
0cfe9ec6c2 | ||
|
|
b87d2530db | ||
|
|
2f1df46ba9 | ||
|
|
fa69bb1bc2 | ||
|
|
af4fa36884 | ||
|
|
a5b3c209fc | ||
|
|
0f7c5ed02d | ||
|
|
0168716fa1 | ||
|
|
b508c54fa0 | ||
|
|
d43e514430 | ||
|
|
5f2fff3c24 | ||
|
|
116cddba69 | ||
|
|
fb4847d243 | ||
|
|
ce85b11e4c | ||
|
|
77a47a795c | ||
|
|
ae4f0a8d72 | ||
|
|
289de5be15 | ||
|
|
ceea2bb8ba | ||
|
|
d8aef83834 | ||
|
|
34b6ed980f | ||
|
|
ce85432f41 | ||
|
|
181ea654dd |
@@ -27,7 +27,7 @@ MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xorg-libinput.pc
|
||||
|
||||
dist_xorgconf_DATA = conf/60-libinput.conf
|
||||
dist_xorgconf_DATA = conf/40-libinput.conf
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
|
||||
@@ -26,3 +26,10 @@ Section "InputClass"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput tablet catchall"
|
||||
MatchIsTablet "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
@@ -23,7 +23,7 @@
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-input-libinput],
|
||||
[0.19.1],
|
||||
[0.23.0],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
||||
[xf86-input-libinput])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
@@ -45,7 +45,7 @@ XORG_DEFAULT_OPTIONS
|
||||
|
||||
# Obtain compiler/linker options from server and required extensions
|
||||
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] xproto [inputproto >= 2.2])
|
||||
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 1.1.901])
|
||||
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 1.4.901])
|
||||
|
||||
# Define a configure option for an alternate input module directory
|
||||
AC_ARG_WITH(xorg-module-dir,
|
||||
@@ -58,9 +58,9 @@ AC_SUBST(inputdir)
|
||||
|
||||
AC_ARG_WITH(xorg-conf-dir,
|
||||
AC_HELP_STRING([--with-xorg-conf-dir=DIR],
|
||||
[Default xorg.conf.d directory [[default=$prefix/share/X11/xorg.conf.d/]]]),
|
||||
[Default xorg.conf.d directory [[default=${prefix}/share/X11/xorg.conf.d]]]),
|
||||
[xorgconfdir="$withval"],
|
||||
[xorgconfdir="$prefix/share/X11/xorg.conf.d"])
|
||||
[xorgconfdir='${prefix}/share/X11/xorg.conf.d'])
|
||||
AC_SUBST(xorgconfdir)
|
||||
|
||||
# X Server SDK location is required to install header files
|
||||
|
||||
@@ -42,6 +42,13 @@
|
||||
/* Tap drag lock default enabled/disabled: BOOL, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_TAP_DRAG_LOCK_DEFAULT "libinput Tapping Drag Lock Enabled Default"
|
||||
|
||||
/* Tap button order: BOOL, 2 values in order LRM, LMR, only one may be set
|
||||
at any time */
|
||||
#define LIBINPUT_PROP_TAP_BUTTONMAP "libinput Tapping Button Mapping Enabled"
|
||||
|
||||
/* Tap button default order: BOOL, 2 values in order LRM, LMR, read-only */
|
||||
#define LIBINPUT_PROP_TAP_BUTTONMAP_DEFAULT "libinput Tapping Button Mapping Default"
|
||||
|
||||
/* Calibration matrix: FLOAT, 9 values of a 3x3 matrix, in rows */
|
||||
#define LIBINPUT_PROP_CALIBRATION "libinput Calibration Matrix"
|
||||
|
||||
@@ -142,4 +149,38 @@
|
||||
* If disabled, horizontal scroll events are discarded */
|
||||
#define LIBINPUT_PROP_HORIZ_SCROLL_ENABLED "libinput Horizontal Scroll Enabled"
|
||||
|
||||
/* Number of modes each pad mode group has available: CARD8, one for each
|
||||
* pad mode group, read-only.
|
||||
*/
|
||||
#define LIBINPUT_PROP_TABLET_PAD_MODE_GROUPS_AVAILABLE "libinput Pad Mode Groups Modes Available"
|
||||
|
||||
/* Mode each pad mode group is currently in: CARD8, one for each pad mode
|
||||
* group, read-only.
|
||||
*/
|
||||
#define LIBINPUT_PROP_TABLET_PAD_MODE_GROUPS "libinput Pad Mode Groups Modes"
|
||||
|
||||
/* The association of each logical button with the pad mode group: INT8,
|
||||
* one for each logical button. If set to -1 the button cannot be associated
|
||||
* with a mode group. read-only
|
||||
*/
|
||||
#define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_BUTTONS "libinput Pad Mode Group Buttons"
|
||||
|
||||
/* The association of each logical strip with the pad mode group: INT8,
|
||||
* one for each logical strip. If set to -1 the strip cannot be associated
|
||||
* with a mode group. read-only
|
||||
*/
|
||||
#define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_STRIPS "libinput Pad Mode Group Strips"
|
||||
|
||||
/* The association of each logical ring with the pad mode group: INT8,
|
||||
* one for each logical ring. If set to -1 the ring cannot be associated
|
||||
* with a mode group. read-only
|
||||
*/
|
||||
#define LIBINPUT_PROP_TABLET_PAD_MODE_GROUP_RINGS "libinput Pad Mode Group Rings"
|
||||
|
||||
/* Device rotation: FLOAT, 1 value, 32 bit */
|
||||
#define LIBINPUT_PROP_ROTATION_ANGLE "libinput Rotation Angle"
|
||||
|
||||
/* Device rotation: FLOAT, 1 value, 32 bit, read-only */
|
||||
#define LIBINPUT_PROP_ROTATION_ANGLE_DEFAULT "libinput Rotation Angle Default"
|
||||
|
||||
#endif /* _LIBINPUT_PROPERTIES_H_ */
|
||||
|
||||
232
man/libinput.man
232
man/libinput.man
@@ -41,23 +41,14 @@ The following driver
|
||||
.B Options
|
||||
are supported:
|
||||
.TP 7
|
||||
.BI "Option \*qDevice\*q \*q" string \*q
|
||||
Specifies the device through which the device can be accessed. This will
|
||||
generally be of the form \*q/dev/input/eventX\*q, where X is some integer.
|
||||
When using
|
||||
.B InputClass
|
||||
directives, this option is set by the server.
|
||||
The mapping from device node to hardware is system-dependent. Property:
|
||||
"Device Node" (read-only).
|
||||
.TP 7
|
||||
.BI "Option \*qAccelProfile\*q \*q" string \*q
|
||||
Sets the pointer acceleration profile to the given profile. Permitted values
|
||||
are
|
||||
.BI adaptive,
|
||||
.BI flat.
|
||||
Not all devices support this option or all profiles. If a profile is
|
||||
unsupported, the default profile for this is used. For a description on the
|
||||
profiles and their behavior, see the libinput documentation.
|
||||
unsupported, the default profile for this device is used. For a description
|
||||
on the profiles and their behavior, see the libinput documentation.
|
||||
.TP 7
|
||||
.BI "Option \*qAccelSpeed\*q \*q" float \*q
|
||||
Sets the pointer acceleration speed within the range [-1, 1]
|
||||
@@ -89,64 +80,19 @@ Enables a click method. Permitted values are
|
||||
Not all devices support all methods, if an option is unsupported, the
|
||||
default click method for this device is used.
|
||||
.TP 7
|
||||
.BI "Option \*qLeftHanded\*q \*q" bool \*q
|
||||
Enables left-handed button orientation, i.e. swapping left and right buttons.
|
||||
.TP 7
|
||||
.BI "Option \*qMiddleEmulation\*q \*q" bool \*q
|
||||
Enables middle button emulation. When enabled, pressing the left and right
|
||||
buttons simultaneously produces a middle mouse button click.
|
||||
.TP 7
|
||||
.BI "Option \*qNaturalScrolling\*q \*q" bool \*q
|
||||
Enables or disables natural scrolling behavior.
|
||||
.TP 7
|
||||
.BI "Option \*qScrollButton\*q \*q" int \*q
|
||||
Designates a button as scroll button. If the
|
||||
.BI ScrollMethod
|
||||
is
|
||||
.BI button
|
||||
and the button is logically held down, x/y axis movement is converted into
|
||||
scroll events.
|
||||
.TP 7
|
||||
.BI "Option \*qScrollMethod\*q \*q" string \*q
|
||||
Enables a scroll method. Permitted values are
|
||||
.BI none,
|
||||
.BI twofinger,
|
||||
.BI edge,
|
||||
.BI button.
|
||||
Not all devices support all options, if an option is unsupported, the
|
||||
default scroll option for this device is used.
|
||||
.TP 7
|
||||
.BI "Option \*qHorizontalScrolling\*q" bool \*q
|
||||
Disables horizontal scrolling. When disabled, this driver will discard any
|
||||
horizontal scroll events from libinput. Note that this does not disable
|
||||
horizontal scrolling, it merely discards the horizontal axis from any scroll
|
||||
events.
|
||||
.TP 7
|
||||
.BI "Option \*qSendEventsMode\*q \*q" (disabled|enabled|disabled-on-external-mouse) \*q
|
||||
Sets the send events mode to disabled, enabled, or "disable when an external
|
||||
mouse is connected".
|
||||
.TP 7
|
||||
.BI "Option \*qTapping\*q \*q" bool \*q
|
||||
Enables or disables tap-to-click behavior.
|
||||
.TP 7
|
||||
.BI "Option \*qTappingDrag\*q \*q" bool \*q
|
||||
Enables or disables drag during tapping behavior ("tap-and-drag"). When
|
||||
enabled, a tap followed by a finger held down causes a single button down
|
||||
only, all motions of that finger thus translate into dragging motion.
|
||||
Tap-and-drag requires option
|
||||
.B Tapping
|
||||
to be enabled.
|
||||
.TP 7
|
||||
.BI "Option \*qTappingDragLock\*q \*q" bool \*q
|
||||
Enables or disables drag lock during tapping behavior. When enabled, a
|
||||
finger up during tap-and-drag will not immediately release the button. If
|
||||
the finger is set down again within the timeout, the dragging process
|
||||
continues.
|
||||
.TP 7
|
||||
.BI "Option \*qDisableWhileTyping\*q \*q" bool \*q
|
||||
Indicates if the touchpad should be disabled while typing on the keyboard
|
||||
(this does not apply to modifier keys such as Ctrl or Alt).
|
||||
.TP 7
|
||||
.BI "Option \*qDevice\*q \*q" string \*q
|
||||
Specifies the device through which the device can be accessed. This will
|
||||
generally be of the form \*q/dev/input/eventX\*q, where X is some integer.
|
||||
When using
|
||||
.B InputClass
|
||||
directives, this option is set by the server.
|
||||
The mapping from device node to hardware is system-dependent. Property:
|
||||
"Device Node" (read-only).
|
||||
.TP 7
|
||||
.BI "Option \*qDragLockButtons\*q \*q" "L1 B1 L2 B2 ..." \*q
|
||||
Sets "drag lock buttons" that simulate a button logically down even when it has
|
||||
been physically released. To logically release a locked button, a second click
|
||||
@@ -167,6 +113,68 @@ For both meta and button pair configuration, the button numbers are
|
||||
device button numbers, i.e. the
|
||||
.B ButtonMapping
|
||||
applies after drag lock.
|
||||
.TP 7
|
||||
.BI "Option \*qHorizontalScrolling\*q \*q" bool \*q
|
||||
Disables horizontal scrolling. When disabled, this driver will discard any
|
||||
horizontal scroll events from libinput. Note that this does not disable
|
||||
horizontal scrolling, it merely discards the horizontal axis from any scroll
|
||||
events.
|
||||
.TP 7
|
||||
.BI "Option \*qLeftHanded\*q \*q" bool \*q
|
||||
Enables left-handed button orientation, i.e. swapping left and right buttons.
|
||||
.TP 7
|
||||
.BI "Option \*qMiddleEmulation\*q \*q" bool \*q
|
||||
Enables middle button emulation. When enabled, pressing the left and right
|
||||
buttons simultaneously produces a middle mouse button click.
|
||||
.TP 7
|
||||
.BI "Option \*qNaturalScrolling\*q \*q" bool \*q
|
||||
Enables or disables natural scrolling behavior.
|
||||
.TP 7
|
||||
.BI "Option \*qRotationAngle\*q \*q" float \*q
|
||||
Sets the rotation angle of the device to the given angle, in degrees
|
||||
clockwise. The angle must be between 0.0 (inclusive) and 360.0 (exclusive).
|
||||
.TP 7
|
||||
.BI "Option \*qScrollButton\*q \*q" int \*q
|
||||
Designates a button as scroll button. If the
|
||||
.BI ScrollMethod
|
||||
is
|
||||
.BI button
|
||||
and the button is logically held down, x/y axis movement is converted into
|
||||
scroll events.
|
||||
.TP 7
|
||||
.BI "Option \*qScrollMethod\*q \*q" string \*q
|
||||
Enables a scroll method. Permitted values are
|
||||
.BI none,
|
||||
.BI twofinger,
|
||||
.BI edge,
|
||||
.BI button.
|
||||
Not all devices support all options, if an option is unsupported, the
|
||||
default scroll option for this device is used.
|
||||
.TP 7
|
||||
.BI "Option \*qSendEventsMode\*q \*q" (disabled|enabled|disabled-on-external-mouse) \*q
|
||||
Sets the send events mode to disabled, enabled, or "disable when an external
|
||||
mouse is connected".
|
||||
.TP 7
|
||||
.BI "Option \*qTapping\*q \*q" bool \*q
|
||||
Enables or disables tap-to-click behavior.
|
||||
.TP 7
|
||||
.BI "Option \*qTappingButtonMap\*q \*q" (lrm|lmr) \*q
|
||||
Set the button mapping for 1/2/3-finger taps to left/right/middle or
|
||||
left/middle/right, respectively.
|
||||
.TP 7
|
||||
.BI "Option \*qTappingDrag\*q \*q" bool \*q
|
||||
Enables or disables drag during tapping behavior ("tap-and-drag"). When
|
||||
enabled, a tap followed by a finger held down causes a single button down
|
||||
only, all motions of that finger thus translate into dragging motion.
|
||||
Tap-and-drag requires option
|
||||
.B Tapping
|
||||
to be enabled.
|
||||
.TP 7
|
||||
.BI "Option \*qTappingDragLock\*q \*q" bool \*q
|
||||
Enables or disables drag lock during tapping behavior. When enabled, a
|
||||
finger up during tap-and-drag will not immediately release the button. If
|
||||
the finger is set down again within the timeout, the dragging process
|
||||
continues.
|
||||
.PP
|
||||
For all options, the options are only parsed if the device supports that
|
||||
configuration option. For all options, the default value is the one used by
|
||||
@@ -181,22 +189,59 @@ on the device. The following properties are provided by the
|
||||
.B libinput
|
||||
driver.
|
||||
.TP 7
|
||||
.BI "libinput Tapping Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables tapping
|
||||
.BI "libinput Accel Speed"
|
||||
1 32-bit float value, defines the pointer speed. Value range -1, 1
|
||||
.TP 7
|
||||
.BI "libinput Tapping Drag Lock Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables drag lock during tapping
|
||||
.BI "libinput Button Scrolling Button"
|
||||
1 32-bit value. Sets the button number to use for button scrolling. This
|
||||
setting is independent of the scroll method, to enable button scrolling the
|
||||
method must be set to button-scrolling and a valid button must be set.
|
||||
.TP 7
|
||||
.BI "libinput Calibration Matrix"
|
||||
9 32-bit float values, representing a 3x3 calibration matrix, order is row
|
||||
1, row 2, row 3
|
||||
.TP 7
|
||||
.BI "libinput Accel Speed"
|
||||
1 32-bit float value, defines the pointer speed. Value range -1, 1
|
||||
.BI "libinput Click Methods Available"
|
||||
2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger".
|
||||
Indicates which click methods are available on this device.
|
||||
.TP 7
|
||||
.BI "libinput Click Methods Enabled"
|
||||
2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger".
|
||||
Indicates which click methods are enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Drag Lock Buttons"
|
||||
Either one 8-bit value specifying the meta drag lock button, or a list of
|
||||
button pairs. See section
|
||||
.B BUTTON DRAG LOCK
|
||||
for details.
|
||||
.TP 7
|
||||
.BI "libinput Horizontal Scrolling Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates whether horizontal scrolling
|
||||
events are enabled or not.
|
||||
.TP 7
|
||||
.BI "libinput Left Handed Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates if left-handed mode is enabled or
|
||||
disabled.
|
||||
.TP 7
|
||||
.BI "libinput Middle Emulation Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates if middle emulation is enabled or
|
||||
disabled.
|
||||
.TP 7
|
||||
.BI "libinput Natural Scrolling Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling
|
||||
.TP 7
|
||||
.BI "libinput Rotation Angle"
|
||||
1 32-bit float value [0.0 to 360.0). Sets the rotation angle of the device,
|
||||
clockwise of its natural neutral position.
|
||||
.TP 7
|
||||
.BI "libinput Scroll Methods Available"
|
||||
3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button".
|
||||
Indicates which scroll methods are available on this device.
|
||||
.TP 7
|
||||
.BI "libinput Scroll Method Enabled"
|
||||
3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button".
|
||||
Indicates which scroll method is currently enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Send Events Modes Available"
|
||||
2 boolean values (8 bit, 0 or 1), in order "disabled" and
|
||||
"disabled-on-external-mouse". Indicates which send-event modes are available
|
||||
@@ -207,52 +252,23 @@ on this device.
|
||||
"disabled-on-external-mouse". Indicates which send-event modes is currently
|
||||
enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Left Handed Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates if left-handed mode is enabled or
|
||||
disabled.
|
||||
.BI "libinput Tapping Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables tapping
|
||||
.TP 7
|
||||
.BI "libinput Scroll Methods Available"
|
||||
3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button".
|
||||
Indicates which scroll methods are available on this device.
|
||||
.BI "libinput Tapping Button Mapping Enabled"
|
||||
2 boolean value (8 bit, 0 or 1), in order "lrm" and "lmr". Indicates which
|
||||
button mapping is currently enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Scroll Method Enabled"
|
||||
3 boolean values (8 bit, 0 or 1), in order "two-finger", "edge", "button".
|
||||
Indicates which scroll method is currently enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Button Scrolling Button"
|
||||
1 32-bit value. Sets the button number to use for button scrolling. This
|
||||
setting is independent of the scroll method, to enable button scrolling the
|
||||
method must be set to button-scrolling and a valid button must be set.
|
||||
.TP 7
|
||||
.BI "libinput Click Methods Available"
|
||||
2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger".
|
||||
Indicates which click methods are available on this device.
|
||||
.TP 7
|
||||
.BI "libinput Click Methods Enabled"
|
||||
2 boolean values (8 bit, 0 or 1), in order "buttonareas", "clickfinger".
|
||||
Indicates which click methods are enabled on this device.
|
||||
.TP 7
|
||||
.BI "libinput Middle Emulation Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates if middle emulation is enabled or
|
||||
disabled.
|
||||
.BI "libinput Tapping Drag Lock Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables drag lock during tapping
|
||||
.TP 7
|
||||
.BI "libinput Disable While Typing Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates if disable while typing is
|
||||
enabled or disabled.
|
||||
.PP
|
||||
The above properties have a
|
||||
Most properties have a
|
||||
.BI "libinput <property name> Default"
|
||||
equivalent that indicates the default value for this setting on this device.
|
||||
.TP 7
|
||||
.BI "libinput Drag Lock Buttons"
|
||||
Either one 8-bit value specifying the meta drag lock button, or a list of
|
||||
button pairs. See section
|
||||
.B BUTTON DRAG LOCK
|
||||
for details.
|
||||
.TP 7
|
||||
.BI "libinput Horizontal Scrolling Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). Indicates whether horizontal scrolling
|
||||
events are enabled or not.
|
||||
|
||||
.SH BUTTON MAPPING
|
||||
X clients receive events with logical button numbers, where 1, 2, 3
|
||||
|
||||
1134
src/xf86libinput.c
1134
src/xf86libinput.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user