mirror of
https://github.com/X11Libre/xf86-input-libinput.git
synced 2026-03-24 09:34:04 +00:00
Compare commits
85 Commits
xf86-input
...
xf86-input
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
449b496a3a | ||
|
|
d4e0b5420f | ||
|
|
19c91044e4 | ||
|
|
3d6afca975 | ||
|
|
158e3264ce | ||
|
|
006c802630 | ||
|
|
d6ce065cea | ||
|
|
b9a2150576 | ||
|
|
9356471f3f | ||
|
|
d5fa03c343 | ||
|
|
446401bea9 | ||
|
|
8d4e03570c | ||
|
|
0c5620a29c | ||
|
|
fb50cef700 | ||
|
|
64a0f870e0 | ||
|
|
e362e4dc4c | ||
|
|
7b3b04b518 | ||
|
|
4ac531bdf6 | ||
|
|
7ec0bf7ae2 | ||
|
|
2ffd8d14be | ||
|
|
e9a0ee69cb | ||
|
|
fb6506f5ee | ||
|
|
275c712866 | ||
|
|
2455f0d03b | ||
|
|
98ae01b9ae | ||
|
|
2600a4a352 | ||
|
|
278a685c5a | ||
|
|
875f1696b7 | ||
|
|
45e9b6c64b | ||
|
|
dcdf1e24c8 | ||
|
|
64e1b14598 | ||
|
|
e729451bb1 | ||
|
|
7d73602c4b | ||
|
|
00b96de351 | ||
|
|
8ceed9c73d | ||
|
|
e4cd6cef91 | ||
|
|
7bc662d0b4 | ||
|
|
a55cb9121a | ||
|
|
efb5cacb25 | ||
|
|
2348a6812a | ||
|
|
0c4eaf5480 | ||
|
|
bc7bcca342 | ||
|
|
e5079cd98e | ||
|
|
200be95ac9 | ||
|
|
8b5dbd4c01 | ||
|
|
fb5c5b6f85 | ||
|
|
182363d674 | ||
|
|
f0b14c6ccc | ||
|
|
e92c9f0bad | ||
|
|
dda952fafe | ||
|
|
17302c3352 | ||
|
|
7e3926f2b7 | ||
|
|
9ad23dd1cb | ||
|
|
7b2dbdc224 | ||
|
|
eddc8cb1b2 | ||
|
|
95597d8070 | ||
|
|
a323e221a7 | ||
|
|
6385974e4d | ||
|
|
439a244ae7 | ||
|
|
4a049ad6f8 | ||
|
|
ef948537e1 | ||
|
|
576da9db26 | ||
|
|
2eb01498bd | ||
|
|
a4fb161c3e | ||
|
|
15291e53b7 | ||
|
|
d9c212d266 | ||
|
|
d48f437aa9 | ||
|
|
84f301f7e3 | ||
|
|
6f06b1dd1d | ||
|
|
fdbf7eaf4b | ||
|
|
2b6c485117 | ||
|
|
246200cbdc | ||
|
|
fb41458a93 | ||
|
|
d9d2e9a501 | ||
|
|
0a58edd3f6 | ||
|
|
8d6019c786 | ||
|
|
532fe35522 | ||
|
|
65a40e2cfc | ||
|
|
7522884a9e | ||
|
|
ef5f0295e7 | ||
|
|
adb4963109 | ||
|
|
e8c4bbceee | ||
|
|
e1a9c82dbc | ||
|
|
fe81ad3ae2 | ||
|
|
6a69462359 |
@@ -19,16 +19,14 @@
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
# Provide an sdk location that is writable by the evdev module
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg'
|
||||
|
||||
SUBDIRS = src
|
||||
SUBDIRS = src include man
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xorg-libinput.pc
|
||||
|
||||
|
||||
.PHONY: ChangeLog INSTALL
|
||||
|
||||
INSTALL:
|
||||
@@ -38,3 +36,5 @@ ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
EXTRA_DIST = conf/99-libinput.conf README.md
|
||||
|
||||
55
README.md
Normal file
55
README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
xf86-input-libinput - a libinput-based X driver
|
||||
===============================================
|
||||
|
||||
The official repository for this driver is
|
||||
http://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/
|
||||
|
||||
This is an X driver based on libinput. It is a thin wrapper around libinput,
|
||||
so while it does provide all features that libinput supports it does little
|
||||
beyond.
|
||||
|
||||
***WARNING: misconfiguration of an X input driver may leave you without
|
||||
usable input devices in your X session. Use with caution.***
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
To build, you'll need the X.Org X server SDK (check your distribution for a
|
||||
xorg-x11-server-devel package or similar) and libinput (check your
|
||||
distribution for libinput-devel or similar).
|
||||
|
||||
To get libinput from source, see:
|
||||
http://www.freedesktop.org/wiki/Software/libinput/
|
||||
|
||||
To build the X server from source:
|
||||
http://www.x.org/wiki/Building_the_X_Window_System/
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
To build this driver:
|
||||
|
||||
autoreconf -vif
|
||||
./configure --prefix=$HOME/build
|
||||
make && make install
|
||||
|
||||
Note that this assumes the same prefix as used in "Building the X Window
|
||||
System" above, adjust as required. If you want a system install, use a
|
||||
prefix of */usr*.
|
||||
|
||||
Install the default configuration file:
|
||||
|
||||
cp conf/99-libinput.conf /etc/X11/xorg.conf.d/
|
||||
|
||||
This will assign this driver to *all* devices. Use with caution.
|
||||
|
||||
|
||||
Bugs
|
||||
----
|
||||
|
||||
Bugs in libinput go to the "libinput" component of wayland:
|
||||
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland
|
||||
|
||||
Bugs in this driver go to the "Input/libinput" component of xorg:
|
||||
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
|
||||
14
autogen.sh
Executable file
14
autogen.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
ORIGDIR=`pwd`
|
||||
cd $srcdir
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
cd $ORIGDIR || exit $?
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
exec $srcdir/configure "$@"
|
||||
fi
|
||||
6
conf/99-libinput.conf
Normal file
6
conf/99-libinput.conf
Normal file
@@ -0,0 +1,6 @@
|
||||
# Use the libinput driver for all event devices
|
||||
Section "InputClass"
|
||||
Identifier "libinput"
|
||||
Driver "libinput"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
EndSection
|
||||
15
configure.ac
15
configure.ac
@@ -23,7 +23,7 @@
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-input-libinput],
|
||||
[0.1.1],
|
||||
[0.11.0],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
||||
[xf86-input-libinput])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
@@ -35,7 +35,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
# Initialize libtool
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_LIBTOOL
|
||||
LT_INIT
|
||||
|
||||
# Initialize X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
|
||||
m4_ifndef([XORG_MACROS_VERSION],
|
||||
@@ -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 >= 0.4.0])
|
||||
PKG_CHECK_MODULES(LIBINPUT, [libinput >= 0.14.0])
|
||||
|
||||
# Define a configure option for an alternate input module directory
|
||||
AC_ARG_WITH(xorg-module-dir,
|
||||
@@ -56,8 +56,7 @@ AC_ARG_WITH(xorg-module-dir,
|
||||
inputdir=${moduledir}/input
|
||||
AC_SUBST(inputdir)
|
||||
|
||||
# X Server SDK location is required to install evdev header files
|
||||
# This location is also relayed in the xorg-evdev.pc file
|
||||
# X Server SDK location is required to install header files
|
||||
sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
|
||||
|
||||
# Workaround overriding sdkdir to be able to create a tarball when user has no
|
||||
@@ -69,6 +68,8 @@ DRIVER_NAME=libinput
|
||||
AC_SUBST([DRIVER_NAME])
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
xorg-libinput.pc])
|
||||
include/Makefile
|
||||
src/Makefile
|
||||
man/Makefile
|
||||
xorg-libinput.pc])
|
||||
AC_OUTPUT
|
||||
|
||||
1
include/Makefile.am
Normal file
1
include/Makefile.am
Normal file
@@ -0,0 +1 @@
|
||||
sdk_HEADERS = libinput-properties.h
|
||||
105
include/libinput-properties.h
Normal file
105
include/libinput-properties.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
* Copyright © 2015 Red Hat, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software
|
||||
* and its documentation for any purpose is hereby granted without
|
||||
* fee, provided that the above copyright notice appear in all copies
|
||||
* and that both that copyright notice and this permission notice
|
||||
* appear in supporting documentation, and that the name of Red Hat
|
||||
* not be used in advertising or publicity pertaining to distribution
|
||||
* of the software without specific, written prior permission. Red
|
||||
* Hat makes no representations about the suitability of this software
|
||||
* for any purpose. It is provided "as is" without express or implied
|
||||
* warranty.
|
||||
*
|
||||
* THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
|
||||
* NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _LIBINPUT_PROPERTIES_H_
|
||||
#define _LIBINPUT_PROPERTIES_H_
|
||||
|
||||
/* Tapping enabled/disabled: BOOL, 1 value */
|
||||
#define LIBINPUT_PROP_TAP "libinput Tapping Enabled"
|
||||
|
||||
/* Tapping default enabled/disabled: BOOL, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_TAP_DEFAULT "libinput Tapping Enabled Default"
|
||||
|
||||
/* Calibration matrix: FLOAT, 9 values of a 3x3 matrix, in rows */
|
||||
#define LIBINPUT_PROP_CALIBRATION "libinput Calibration Matrix"
|
||||
|
||||
/* Calibration matrix: FLOAT, 9 values of a 3x3 matrix, in rows, read-only*/
|
||||
#define LIBINPUT_PROP_CALIBRATION_DEFAULT "libinput Calibration Matrix Default"
|
||||
|
||||
/* Pointer accel speed: FLOAT, 1 value, 32 bit */
|
||||
#define LIBINPUT_PROP_ACCEL "libinput Accel Speed"
|
||||
|
||||
/* Pointer accel speed: FLOAT, 1 value, 32 bit, read-only*/
|
||||
#define LIBINPUT_PROP_ACCEL_DEFAULT "libinput Accel Speed Default"
|
||||
|
||||
/* Natural scrolling: BOOL, 1 value */
|
||||
#define LIBINPUT_PROP_NATURAL_SCROLL "libinput Natural Scrolling Enabled"
|
||||
|
||||
/* Natural scrolling: BOOL, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_NATURAL_SCROLL_DEFAULT "libinput Natural Scrolling Enabled Default"
|
||||
|
||||
/* Send-events mode: BOOL read-only, 2 values in order disabled,
|
||||
disabled-on-external-mouse */
|
||||
#define LIBINPUT_PROP_SENDEVENTS_AVAILABLE "libinput Send Events Modes Available"
|
||||
|
||||
/* Send-events mode: BOOL, 2 values in order disabled,
|
||||
disabled-on-external-mouse */
|
||||
#define LIBINPUT_PROP_SENDEVENTS_ENABLED "libinput Send Events Mode Enabled"
|
||||
|
||||
/* Send-events mode: BOOL, 2 values in order disabled,
|
||||
disabled-on-external-mouse, read-only */
|
||||
#define LIBINPUT_PROP_SENDEVENTS_ENABLED_DEFAULT "libinput Send Events Mode Enabled Default"
|
||||
|
||||
/* Left-handed enabled/disabled: BOOL, 1 value */
|
||||
#define LIBINPUT_PROP_LEFT_HANDED "libinput Left Handed Enabled"
|
||||
|
||||
/* Left-handed enabled/disabled: BOOL, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_LEFT_HANDED_DEFAULT "libinput Left Handed Enabled Default"
|
||||
|
||||
/* Scroll method: BOOL read-only, 3 values in order 2fg, edge, button.
|
||||
shows available scroll methods */
|
||||
#define LIBINPUT_PROP_SCROLL_METHODS_AVAILABLE "libinput Scroll Methods Available"
|
||||
|
||||
/* Scroll method: BOOL, 3 values in order 2fg, edge, button
|
||||
only one is enabled at a time at max */
|
||||
#define LIBINPUT_PROP_SCROLL_METHOD_ENABLED "libinput Scroll Method Enabled"
|
||||
|
||||
/* Scroll method: BOOL, 3 values in order 2fg, edge, button
|
||||
only one is enabled at a time at max, read-only */
|
||||
#define LIBINPUT_PROP_SCROLL_METHOD_ENABLED_DEFAULT "libinput Scroll Method Enabled Default"
|
||||
|
||||
/* Scroll button for button scrolling: 32-bit int, 1 value */
|
||||
#define LIBINPUT_PROP_SCROLL_BUTTON "libinput Button Scrolling Button"
|
||||
|
||||
/* Scroll button for button scrolling: 32-bit int, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_SCROLL_BUTTON_DEFAULT "libinput Button Scrolling Button Default"
|
||||
|
||||
/* Click method: BOOL read-only, 2 values in order buttonareas, clickfinger
|
||||
shows available click methods */
|
||||
#define LIBINPUT_PROP_CLICK_METHODS_AVAILABLE "libinput Click Methods Available"
|
||||
|
||||
/* Click method: BOOL, 2 values in order buttonareas, clickfinger
|
||||
only one enabled at a time at max */
|
||||
#define LIBINPUT_PROP_CLICK_METHOD_ENABLED "libinput Click Method Enabled"
|
||||
|
||||
/* Click method: BOOL, 2 values in order buttonareas, clickfinger
|
||||
only one enabled at a time at max, read-only */
|
||||
#define LIBINPUT_PROP_CLICK_METHOD_ENABLED_DEFAULT "libinput Click Method Enabled Default"
|
||||
|
||||
/* Middle button emulation: BOOL, 1 value */
|
||||
#define LIBINPUT_PROP_MIDDLE_EMULATION_ENABLED "libinput Middle Emulation Enabled"
|
||||
|
||||
/* Middle button emulation: BOOL, 1 value, read-only */
|
||||
#define LIBINPUT_PROP_MIDDLE_EMULATION_ENABLED_DEFAULT "libinput Middle Emulation Enabled Default"
|
||||
|
||||
#endif /* _LIBINPUT_PROPERTIES_H_ */
|
||||
37
man/Makefile.am
Normal file
37
man/Makefile.am
Normal file
@@ -0,0 +1,37 @@
|
||||
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# 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:
|
||||
#
|
||||
# The above copyright notice and this permission notice (including the next
|
||||
# paragraph) shall be included in all copies or substantial portions of the
|
||||
# Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
|
||||
driverman_PRE = $(DRIVER_NAME).man
|
||||
|
||||
driverman_DATA = $(driverman_PRE:man=$(DRIVER_MAN_SUFFIX))
|
||||
|
||||
EXTRA_DIST = $(DRIVER_NAME).man
|
||||
|
||||
CLEANFILES = $(driverman_DATA)
|
||||
|
||||
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
211
man/libinput.man
Normal file
211
man/libinput.man
Normal file
@@ -0,0 +1,211 @@
|
||||
.\" shorthand for double quote that works everywhere.
|
||||
.ds q \N'34'
|
||||
.TH LIBINPUT __drivermansuffix__ __vendorversion__
|
||||
.SH NAME
|
||||
libinput \- libinput-based X.Org input driver
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.B "Section \*qInputDevice\*q"
|
||||
.BI " Identifier \*q" devname \*q
|
||||
.B " Driver \*qlibinput\*q"
|
||||
.BI " Option \*qDevice\*q \*q" devpath \*q
|
||||
\ \ ...
|
||||
.B EndSection
|
||||
.fi
|
||||
|
||||
.SH NOTE
|
||||
This is the man page for the X input driver. If you are looking for the
|
||||
library documentation, go to
|
||||
.BI http://wayland.freedesktop.org/libinput/doc/
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B libinput
|
||||
is an __xservername__ input driver based on libinput. It
|
||||
therefore supports all input devices that libinput can handle, including
|
||||
most mice, keyboards, tablets and touchscreens.
|
||||
.PP
|
||||
It is recommended that
|
||||
.B libinput
|
||||
devices are configured through the
|
||||
.B InputClass
|
||||
directive (refer to __xconfigfile__(__filemansuffix__)) instead of manual
|
||||
per-device configuration. Devices configured in the
|
||||
__xconfigfile__(__filemansuffix__) are not hot-plug capable.
|
||||
|
||||
.SH CONFIGURATION DETAILS
|
||||
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
|
||||
details and for options that can be used with all input drivers. This
|
||||
section only covers configuration details specific to this driver.
|
||||
.PP
|
||||
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.
|
||||
The mapping from device node to hardware is system-dependent. Property:
|
||||
"Device Node" (read-only).
|
||||
.TP 7
|
||||
.BI "Option \*qAccelSpeed\*q \*q" float \*q
|
||||
Sets the pointer acceleration speed within the range [-1, 1]
|
||||
.TP 7
|
||||
.BI "Option \*qButtonMapping\*q \*q" string \*q
|
||||
Sets the logical button mapping for this device, see
|
||||
XSetPointerMapping(__libmansuffix__). The string must be a
|
||||
space-separated list of button mappings in the order of the
|
||||
logical buttons on the device, starting with button 1.
|
||||
The default mapping is "1 2 3 ... 32". A mapping of 0
|
||||
deactivates the button. Multiple buttons can have the same mapping.
|
||||
Invalid mapping strings are discarded and the default mapping
|
||||
is used for all buttons. Buttons not specified in the user's mapping use the
|
||||
default mapping. See section
|
||||
.B BUTTON MAPPING
|
||||
for more details.
|
||||
.TP 7
|
||||
.BI "Option \*qCalibrationMatrix\*q \*q" string \*q
|
||||
A string of 9 space-separated floating point numbers.
|
||||
Sets the calibration matrix to the 3x3 matrix where the first row is (abc),
|
||||
the second row is (def) and the third row is (ghi).
|
||||
.TP 7
|
||||
.BI "Option \*qClickMethod\*q \*q" string \*q
|
||||
Enables a click method. Permitted values are
|
||||
.BI none,
|
||||
.BI buttonareas,
|
||||
.BI clickfinger.
|
||||
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 \*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.
|
||||
.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
|
||||
libinput. On configuration failure, the default value is applied.
|
||||
|
||||
.SH SUPPORTED PROPERTIES
|
||||
.B libinput
|
||||
exports runtime-configurable options as properties. If a property listed
|
||||
below is not available, the matching configuration option is not available
|
||||
on the device. This however does not imply that the feature is not available
|
||||
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
|
||||
.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
|
||||
.TP 7
|
||||
.BI "libinput Natural Scrolling Enabled"
|
||||
1 boolean value (8 bit, 0 or 1). 1 enables natural scrolling
|
||||
.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
|
||||
on this device.
|
||||
.TP 7
|
||||
.BI "libinput Send Events Mode Enabled"
|
||||
2 boolean values (8 bit, 0 or 1), in order "disabled" and
|
||||
"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.
|
||||
.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 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.
|
||||
.TP7
|
||||
.PP
|
||||
The above properties have a
|
||||
.BI "libinput <property name> Default"
|
||||
equivalent that indicates the default value for this setting on this device.
|
||||
|
||||
.SH BUTTON MAPPING
|
||||
X clients receive events with logical button numbers, where 1, 2, 3
|
||||
are usually interpreted as left, middle, right and logical buttons 4, 5, 6,
|
||||
7 are usually interpreted as scroll up, down, left, right. The fourth and
|
||||
fifth physical buttons on a device will thus send logical buttons 8 and 9.
|
||||
The
|
||||
.B ButtonMapping
|
||||
option adjusts the logical button mapping, it does not affect how a physical
|
||||
button is mapped to a logical button.
|
||||
.PP
|
||||
Traditionally, a device was set to left-handed button mode by applying a
|
||||
button mapping of
|
||||
.B "\*q3 2 1 ...\*q"
|
||||
On systems using the
|
||||
.B libinput
|
||||
__xservername__ input driver it is recommended to use the
|
||||
.B LeftHanded
|
||||
option instead.
|
||||
.PP
|
||||
The
|
||||
.B libinput
|
||||
__xservername__ input driver does not use the button mapping after setup.
|
||||
Use XSetPointerMapping(__libmansuffix__) to modify the button mapping at
|
||||
runtime.
|
||||
|
||||
.SH AUTHORS
|
||||
Peter Hutterer
|
||||
.SH "SEE ALSO"
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
|
||||
1888
src/libinput.c
1888
src/libinput.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user