mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-08 11:19:14 +02:00
Fix various typos
Co-Authored-by: Claude Code <noreply@anthropic.com> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1452>
This commit is contained in:
parent
bb7aa004f8
commit
2dc491de1f
32 changed files with 72 additions and 72 deletions
|
|
@ -87,7 +87,7 @@ suggested hwdb entry. ::
|
||||||
|
|
||||||
|
|
||||||
If there are discrepancies between the coordinate range the kernels
|
If there are discrepancies between the coordinate range the kernels
|
||||||
advertises and what what the touchpad sends, the hwdb entry should be added to the
|
advertises and what the touchpad sends, the hwdb entry should be added to the
|
||||||
``60-evdev.hwdb`` file provided by the `systemd project <https://github.com/systemd/systemd>`_.
|
``60-evdev.hwdb`` file provided by the `systemd project <https://github.com/systemd/systemd>`_.
|
||||||
An example commit can be found
|
An example commit can be found
|
||||||
`here <https://github.com/systemd/systemd/commit/26f667eac1c5e89b689aa0a1daef6a80f473e045>`_.
|
`here <https://github.com/systemd/systemd/commit/26f667eac1c5e89b689aa0a1daef6a80f473e045>`_.
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ events is performed within the dispatch method.
|
||||||
|
|
||||||
evdev [label="evdev_device_dispatch()"]
|
evdev [label="evdev_device_dispatch()"]
|
||||||
|
|
||||||
plugins [label="plugin pipline"]
|
plugins [label="plugin pipeline"]
|
||||||
|
|
||||||
fallback [label="fallback_interface_process()"];
|
fallback [label="fallback_interface_process()"];
|
||||||
touchpad [label="tp_interface_process()"]
|
touchpad [label="tp_interface_process()"]
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ Instructions on how to build libinput and its tools and how to build against
|
||||||
libinput.
|
libinput.
|
||||||
|
|
||||||
The build instruction on this page detail how to overwrite your
|
The build instruction on this page detail how to overwrite your
|
||||||
system-provided libinput with one from the git repository, see
|
system-provided libinput with one from the git repository,
|
||||||
see :ref:`reverting_install` to revert to the previous state.
|
see :ref:`reverting_install` to revert to the previous state.
|
||||||
|
|
||||||
.. _distribution_repos:
|
.. _distribution_repos:
|
||||||
|
|
@ -27,7 +27,7 @@ the latest libinput without building it manually.
|
||||||
|
|
||||||
.. note:: The list below is provided for convenience. The libinput community
|
.. note:: The list below is provided for convenience. The libinput community
|
||||||
cannot provide any guarantees that the packages in those repositories are
|
cannot provide any guarantees that the packages in those repositories are
|
||||||
correct, up-to-date and/or unmodified from the git branch. Due dilligence
|
correct, up-to-date and/or unmodified from the git branch. Due diligence
|
||||||
is recommended.
|
is recommended.
|
||||||
|
|
||||||
The following repositories provide an up-to-date package for libinput:
|
The following repositories provide an up-to-date package for libinput:
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ The "bounce" method guarantees that all press events are delivered
|
||||||
immediately and most release events are delivered immediately. The
|
immediately and most release events are delivered immediately. The
|
||||||
"spurious" method requires that release events are delayed, libinput thus
|
"spurious" method requires that release events are delayed, libinput thus
|
||||||
does not enable this method unless a faulty event sequence is detected. A
|
does not enable this method unless a faulty event sequence is detected. A
|
||||||
message is printed to the log when spurious deboucing was detected.
|
message is printed to the log when spurious debouncing was detected.
|
||||||
|
|
||||||
libinput's debouncing is supposed to correct hardware damage or
|
libinput's debouncing is supposed to correct hardware damage or
|
||||||
substandard hardware. Debouncing also exists as an accessibility feature
|
substandard hardware. Debouncing also exists as an accessibility feature
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ for those devices it is expected to be implemented by the toolkit.
|
||||||
Three-finger drag
|
Three-finger drag
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
Three-finger drag allows emulates the mouse button down while three fingers
|
Three-finger drag emulates the mouse button down while three fingers
|
||||||
are down on a touchpad without the need to press a physical button or use
|
are down on a touchpad without the need to press a physical button or use
|
||||||
:ref:`tapndrag`. See :ref:`drag_3fg` for details on how this feature works.
|
:ref:`tapndrag`. See :ref:`drag_3fg` for details on how this feature works.
|
||||||
|
|
||||||
|
|
@ -165,7 +165,7 @@ most touchpads.
|
||||||
Disable while trackpointing
|
Disable while trackpointing
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
DWTP is a form of palm detecion for devices that have a trackpoint (like
|
DWTP is a form of palm detection for devices that have a trackpoint (like
|
||||||
Thinkpads). While the user is using the trackpoint, the touchpad is disabled,
|
Thinkpads). While the user is using the trackpoint, the touchpad is disabled,
|
||||||
being enabled again after a timeout. See :ref:`disable-while-trackpointing` for
|
being enabled again after a timeout. See :ref:`disable-while-trackpointing` for
|
||||||
more info.
|
more info.
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Installing temporary local device quirks
|
||||||
|
|
||||||
The model quirks are part of the source distribution and should never be
|
The model quirks are part of the source distribution and should never be
|
||||||
modified. For temporary local workarounds, libinput reads the
|
modified. For temporary local workarounds, libinput reads the
|
||||||
``/etc/libinput/local-overrides.quirks`` file. Users may add a sections to
|
``/etc/libinput/local-overrides.quirks`` file. Users may add sections to
|
||||||
this file to add a device quirk for a local device but beware that **any
|
this file to add a device quirk for a local device but beware that **any
|
||||||
modification must be upstreamed** or it may cease to work at any time.
|
modification must be upstreamed** or it may cease to work at any time.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ Hold gestures have three potential logical states:
|
||||||
- **begin**: one or more fingers are placed on the device at the same time
|
- **begin**: one or more fingers are placed on the device at the same time
|
||||||
- **end**: all fingers are removed and the device enters a neutral logical state
|
- **end**: all fingers are removed and the device enters a neutral logical state
|
||||||
- **end(cancelled)**: all fingers are part of a known interaction and the
|
- **end(cancelled)**: all fingers are part of a known interaction and the
|
||||||
currenthold gesture is no longer active. This may also occurs when
|
current hold gesture is no longer active. This may also occur when
|
||||||
switching between hold gestures with different finger counts.
|
switching between hold gestures with different finger counts.
|
||||||
|
|
||||||
.. note:: By definition, a hold gesture does not move and thus no coordinate
|
.. note:: By definition, a hold gesture does not move and thus no coordinate
|
||||||
|
|
@ -359,7 +359,7 @@ Touchpoints are assigned in sequential order and only the first two touch
|
||||||
points are trackable. For libinput this produces an ambiguity where it is
|
points are trackable. For libinput this produces an ambiguity where it is
|
||||||
impossible to detect whether a gesture is a pinch gesture or a swipe gesture
|
impossible to detect whether a gesture is a pinch gesture or a swipe gesture
|
||||||
whenever a user puts the index and middle finger down first. Since the third
|
whenever a user puts the index and middle finger down first. Since the third
|
||||||
finger does not have positional information, it's location cannot be
|
finger does not have positional information, its location cannot be
|
||||||
determined.
|
determined.
|
||||||
|
|
||||||
.. figure:: gesture-2fg-ambiguity.svg
|
.. figure:: gesture-2fg-ambiguity.svg
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ touch the bottom edges of the touchpad during normal interaction.
|
||||||
|
|
||||||
Interference from a palm depends on the size of the touchpad and the position
|
Interference from a palm depends on the size of the touchpad and the position
|
||||||
of the user's hand. Data from touchpads showed that almost all palm events
|
of the user's hand. Data from touchpads showed that almost all palm events
|
||||||
during tying on a Lenovo T440 happened in the left-most and right-most 5% of
|
during typing on a Lenovo T440 happened in the left-most and right-most 5% of
|
||||||
the touchpad. The T440 series has one of the largest touchpads, other
|
the touchpad. The T440 series has one of the largest touchpads, other
|
||||||
touchpads are less affected by palm touches.
|
touchpads are less affected by palm touches.
|
||||||
|
|
||||||
|
|
@ -52,7 +52,7 @@ Palm detection based on pressure
|
||||||
|
|
||||||
The simplest form of palm detection labels a touch as palm when the pressure
|
The simplest form of palm detection labels a touch as palm when the pressure
|
||||||
value goes above a certain threshold. This threshold is usually high enough
|
value goes above a certain threshold. This threshold is usually high enough
|
||||||
that it cannot be triggered by a finger movement. One a touch is labelled as
|
that it cannot be triggered by a finger movement. Once a touch is labelled as
|
||||||
palm based on pressure, it will remain so even if the pressure drops below
|
palm based on pressure, it will remain so even if the pressure drops below
|
||||||
the threshold again. This ensures that a palm remains a palm even when the
|
the threshold again. This ensures that a palm remains a palm even when the
|
||||||
pressure changes as the user is typing.
|
pressure changes as the user is typing.
|
||||||
|
|
@ -187,7 +187,7 @@ Stylus-touch arbitration
|
||||||
A special case of palm detection is touch arbitration on devices that
|
A special case of palm detection is touch arbitration on devices that
|
||||||
support styli. When interacting with a stylus on the screen, parts of the
|
support styli. When interacting with a stylus on the screen, parts of the
|
||||||
hand may touch the surface and trigger touches. As the user is currently
|
hand may touch the surface and trigger touches. As the user is currently
|
||||||
interacting with the stylus, these touches would interfer with the correct
|
interacting with the stylus, these touches would interfere with the correct
|
||||||
working of the stylus.
|
working of the stylus.
|
||||||
|
|
||||||
libinput employs a method similar to :ref:`disable-while-typing` to detect
|
libinput employs a method similar to :ref:`disable-while-typing` to detect
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ Velocity calculation
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
The device's speed of movement is measured across multiple input events
|
The device's speed of movement is measured across multiple input events
|
||||||
through so-called "trackers". Each event prepends a the tracker item, each
|
through so-called "trackers". Each event prepends a tracker item, each
|
||||||
subsequent tracker contains the delta of that item to the current position,
|
subsequent tracker contains the delta of that item to the current position,
|
||||||
the timestamp of the event that created it and the cardinal direction of the
|
the timestamp of the event that created it and the cardinal direction of the
|
||||||
movement at the time. If a device moves into the same direction, the
|
movement at the time. If a device moves into the same direction, the
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,7 @@ When you file a bug, please attach the following information:
|
||||||
|
|
||||||
- a virtual description of your input device, see :ref:`libinput-record`.
|
- a virtual description of your input device, see :ref:`libinput-record`.
|
||||||
This is the most important piece of information, do not forget it!
|
This is the most important piece of information, do not forget it!
|
||||||
- the vendor model number of the device (e.g. "Sony Plastation3 controller")
|
- the vendor model number of the device (e.g. "Sony PlayStation3 controller")
|
||||||
|
|
||||||
.. _udev_info:
|
.. _udev_info:
|
||||||
|
|
||||||
|
|
@ -368,7 +368,7 @@ them.
|
||||||
without someone stepping up to do the work. If you do see this tag, do ask
|
without someone stepping up to do the work. If you do see this tag, do ask
|
||||||
for guidance on how to implement it.
|
for guidance on how to implement it.
|
||||||
- **hw issue**: an issue that affects a specific device and is a hardware
|
- **hw issue**: an issue that affects a specific device and is a hardware
|
||||||
bug, not a software bug. Often these needs to be worked around in libinput
|
bug, not a software bug. Often these need to be worked around in libinput
|
||||||
but there are cases where a hw issue ends up as *cantfix*.
|
but there are cases where a hw issue ends up as *cantfix*.
|
||||||
- **janitor**: a cleanup task that does not substantially affect how
|
- **janitor**: a cleanup task that does not substantially affect how
|
||||||
libinput works. These are usually good bugs for newcomers to start on.
|
libinput works. These are usually good bugs for newcomers to start on.
|
||||||
|
|
@ -389,7 +389,7 @@ them.
|
||||||
*cantfix*.
|
*cantfix*.
|
||||||
- **wontfix**: this issue will not get fixed. This tag is usually assigned
|
- **wontfix**: this issue will not get fixed. This tag is usually assigned
|
||||||
to feature requests that are outside the scope of libinput or would put an
|
to feature requests that are outside the scope of libinput or would put an
|
||||||
unreasonable maintenance burdern on the maintainers.
|
unreasonable maintenance burden on the maintainers.
|
||||||
|
|
||||||
These tags are high-level categories only, always look for the comments in
|
These tags are high-level categories only, always look for the comments in
|
||||||
the issue to get further details.
|
the issue to get further details.
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ tools are capable of detecting 1 gram of pressure.
|
||||||
|
|
||||||
libinput uses a device-specific pressure threshold to determine when the tip
|
libinput uses a device-specific pressure threshold to determine when the tip
|
||||||
is considered logically down. As a result, libinput may send a nonzero
|
is considered logically down. As a result, libinput may send a nonzero
|
||||||
pressure value while the tip is logically up. Most application can and
|
pressure value while the tip is logically up. Most applications can and
|
||||||
should ignore pressure information until they receive the event of type
|
should ignore pressure information until they receive the event of type
|
||||||
**LIBINPUT_EVENT_TABLET_TOOL_TIP**. Applications that require extremely
|
**LIBINPUT_EVENT_TABLET_TOOL_TIP**. Applications that require extremely
|
||||||
fine-grained pressure sensitivity should use the pressure data instead of
|
fine-grained pressure sensitivity should use the pressure data instead of
|
||||||
|
|
@ -284,7 +284,7 @@ with **libinput_tablet_tool_get_tool_id()** but makes no promises about the
|
||||||
content or format of the ID.
|
content or format of the ID.
|
||||||
|
|
||||||
libinput currently supports Wacom-style tool IDs as provided on the Wacom
|
libinput currently supports Wacom-style tool IDs as provided on the Wacom
|
||||||
Intuos 3, 4, 5, Wacon Cintiq and Wacom Intuos Pro series. The tool ID can
|
Intuos 3, 4, 5, Wacom Cintiq and Wacom Intuos Pro series. The tool ID can
|
||||||
be used to distinguish between e.g. a Wacom Classic Pen or a Wacom Pro Pen.
|
be used to distinguish between e.g. a Wacom Classic Pen or a Wacom Pro Pen.
|
||||||
It is the caller's responsibility to interpret the tool ID.
|
It is the caller's responsibility to interpret the tool ID.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ run to check for behavior changes and/or regressions. For quick iteration,
|
||||||
the number of tests to run can be filtered, see :ref:`test-filtering`.
|
the number of tests to run can be filtered, see :ref:`test-filtering`.
|
||||||
This allows for developers to verify a subset of tests (e.g.
|
This allows for developers to verify a subset of tests (e.g.
|
||||||
touchpad tap-to-click) while hacking on that specific feature and only run
|
touchpad tap-to-click) while hacking on that specific feature and only run
|
||||||
the full suite when development is done finished.
|
the full suite when development is finished.
|
||||||
|
|
||||||
.. note:: The test suite relies on udev and the kernel, specifically uinput.
|
.. note:: The test suite relies on udev and the kernel, specifically uinput.
|
||||||
It creates virtual input devices and replays the events. This may
|
It creates virtual input devices and replays the events. This may
|
||||||
|
|
@ -38,7 +38,7 @@ Job control in the test suite
|
||||||
The test suite runner has a make-like job control enabled by the ``-j`` or
|
The test suite runner has a make-like job control enabled by the ``-j`` or
|
||||||
``--jobs`` flag and will fork off as many parallel processes as given by this
|
``--jobs`` flag and will fork off as many parallel processes as given by this
|
||||||
flag. The default if unspecified is 8. When debugging a specific test case
|
flag. The default if unspecified is 8. When debugging a specific test case
|
||||||
failure it is recommended to employ test filtures (see :ref:`test-filtering`)
|
failure it is recommended to employ test filters (see :ref:`test-filtering`)
|
||||||
and disable parallel tests. The test suite automatically disables parallel
|
and disable parallel tests. The test suite automatically disables parallel
|
||||||
make when run in gdb.
|
make when run in gdb.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -365,7 +365,7 @@ The ``libinput analyze`` tool is a multiplexer for various sub-tools that
|
||||||
can analyze input events previously recorded from a device.
|
can analyze input events previously recorded from a device.
|
||||||
|
|
||||||
Please see the **libinput-analyze(1)** man page for information about what
|
Please see the **libinput-analyze(1)** man page for information about what
|
||||||
tools are available and the man page for each respective too.
|
tools are available and the man page for each respective tool.
|
||||||
|
|
||||||
|
|
||||||
.. _libinput-quirks:
|
.. _libinput-quirks:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Touchpad jitter describes random movement by a few pixels even when the
|
||||||
user's finger is unmoving.
|
user's finger is unmoving.
|
||||||
|
|
||||||
libinput has a mechanism called a **hysteresis** to avoid that jitter. When
|
libinput has a mechanism called a **hysteresis** to avoid that jitter. When
|
||||||
active, movement with in the **hysteresis margin** is discarded. If the
|
active, movement within the **hysteresis margin** is discarded. If the
|
||||||
movement delta is larger than the margin, the movement is passed on as
|
movement delta is larger than the margin, the movement is passed on as
|
||||||
pointer movement. This is a simplified summary, developers should
|
pointer movement. This is a simplified summary, developers should
|
||||||
read the implementation of the hysteresis in ``src/evdev.c``.
|
read the implementation of the hysteresis in ``src/evdev.c``.
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,8 @@ Example output of the tool is below: ::
|
||||||
|
|
||||||
The example output shows five completed touch sequences and one ongoing one.
|
The example output shows five completed touch sequences and one ongoing one.
|
||||||
For each, the respective minimum and maximum pressure values are printed as
|
For each, the respective minimum and maximum pressure values are printed as
|
||||||
well as some statistics. The ``down`` column show that each sequence was
|
well as some statistics. The ``down`` column shows that each sequence was
|
||||||
considered logically down at some point (see the threholds in the last line),
|
considered logically down at some point (see the thresholds in the last line),
|
||||||
two of the sequences were considered thumbs. This is an interactive tool and
|
two of the sequences were considered thumbs. This is an interactive tool and
|
||||||
its output may change frequently. Refer to the
|
its output may change frequently. Refer to the
|
||||||
**libinput-measure-touchpad-pressure(1)** man page for more details.
|
**libinput-measure-touchpad-pressure(1)** man page for more details.
|
||||||
|
|
@ -112,7 +112,7 @@ Once the thresholds are decided on (e.g. 10 and 8), they can be enabled with
|
||||||
AttrPalmPressureThreshold=150
|
AttrPalmPressureThreshold=150
|
||||||
AttrThumbPressureThreshold=100
|
AttrThumbPressureThreshold=100
|
||||||
|
|
||||||
The file name **must** be ``/etc/libinput/local-overrides.quirks``. The
|
The file name **must** be ``/etc/libinput/local-overrides.quirks``.
|
||||||
The first line is the section name and can be free-form. The ``Match``
|
The first line is the section name and can be free-form. The ``Match``
|
||||||
directives limit the quirk to your touchpad, make sure the device name
|
directives limit the quirk to your touchpad, make sure the device name
|
||||||
matches your device's name (see ``libinput record``'s output). The dmi
|
matches your device's name (see ``libinput record``'s output). The dmi
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ touchpads. Some devices can detect multiple fingers but only provide
|
||||||
|
|
||||||
Some devices provide additional touch size information through
|
Some devices provide additional touch size information through
|
||||||
the ``ABS_MT_TOUCH_MAJOR/ABS_MT_TOUCH_MINOR`` axes and/or
|
the ``ABS_MT_TOUCH_MAJOR/ABS_MT_TOUCH_MINOR`` axes and/or
|
||||||
the ``ABS_MT_WIDTH_MAJOR/ABS_MT_WIDTH_MINOR`` axes. These axes specifcy
|
the ``ABS_MT_WIDTH_MAJOR/ABS_MT_WIDTH_MINOR`` axes. These axes specify
|
||||||
the size of the touch ellipse. While the kernel documentation specifies how
|
the size of the touch ellipse. While the kernel documentation specifies how
|
||||||
these axes are supposed to be mapped, few devices forward reliable
|
these axes are supposed to be mapped, few devices forward reliable
|
||||||
information. libinput uses these values together with a device-specific
|
information. libinput uses these values together with a device-specific
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Physically separate buttons
|
||||||
|
|
||||||
Touchpads with physical buttons usually provide two buttons, left and right.
|
Touchpads with physical buttons usually provide two buttons, left and right.
|
||||||
A few touchpads with three buttons exist, and Apple used to have touchpads
|
A few touchpads with three buttons exist, and Apple used to have touchpads
|
||||||
with a single physical buttons until ca 2008. Touchpads with only two
|
with a single physical button until ca 2008. Touchpads with only two
|
||||||
buttons require the software stack to emulate a middle button. libinput does
|
buttons require the software stack to emulate a middle button. libinput does
|
||||||
this when both buttons are pressed simultaneously.
|
this when both buttons are pressed simultaneously.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Button scrolling on trackpoints
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
Trackpoint devices have :ref:`button_scrolling` enabled by default. This may
|
Trackpoint devices have :ref:`button_scrolling` enabled by default. This may
|
||||||
interfer with middle-button dragging, if middle-button dragging is required
|
interfere with middle-button dragging, if middle-button dragging is required
|
||||||
by a user then button scrolling must be disabled.
|
by a user then button scrolling must be disabled.
|
||||||
|
|
||||||
.. _trackpoint_range:
|
.. _trackpoint_range:
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ wheel:
|
||||||
| 20 | 20 | 1 | 120 |
|
| 20 | 20 | 1 | 120 |
|
||||||
+-------------+------------+---------------+------+
|
+-------------+------------+---------------+------+
|
||||||
|
|
||||||
Fast scrolling may trigger cover than one detent per event and thus each
|
Fast scrolling may trigger more than one detent per event and thus each
|
||||||
event may contain multiples of the value, discrete or v120 value:
|
event may contain multiples of the value, discrete or v120 value:
|
||||||
|
|
||||||
+-------------+------------+---------------+------+
|
+-------------+------------+---------------+------+
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,7 @@ tp_new_touch(struct tp_dispatch *tp, struct tp_touch *t, usec_t time)
|
||||||
again. That's a kernel bug, so let's complain. */
|
again. That's a kernel bug, so let's complain. */
|
||||||
if (t->state == TOUCH_MAYBE_END) {
|
if (t->state == TOUCH_MAYBE_END) {
|
||||||
evdev_log_bug_kernel(tp->device,
|
evdev_log_bug_kernel(tp->device,
|
||||||
"touch %d ended and began in in same frame.\n",
|
"touch %d ended and began in same frame.\n",
|
||||||
t->index);
|
t->index);
|
||||||
tp->nfingers_down++;
|
tp->nfingers_down++;
|
||||||
t->state = TOUCH_UPDATE;
|
t->state = TOUCH_UPDATE;
|
||||||
|
|
@ -1335,7 +1335,7 @@ tp_position_fake_touches(struct tp_dispatch *tp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* We have at least one fake touch down. Find the top-most real
|
/* We have at least one fake touch down. Find the top-most real
|
||||||
* touch and copy its coordinates over to to all fake touches.
|
* touch and copy its coordinates over to all fake touches.
|
||||||
* This is more reliable than just taking the first touch.
|
* This is more reliable than just taking the first touch.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < tp->num_slots; i++) {
|
for (i = 0; i < tp->num_slots; i++) {
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@ tablet_filter_axis_fuzz(const struct tablet_dispatch *tablet,
|
||||||
|
|
||||||
fuzz = libevdev_get_abs_fuzz(device->evdev, evdev_usage_code(e->usage));
|
fuzz = libevdev_get_abs_fuzz(device->evdev, evdev_usage_code(e->usage));
|
||||||
|
|
||||||
/* ABS_DISTANCE doesn't have have fuzz set and causes continuous
|
/* ABS_DISTANCE doesn't have fuzz set and causes continuous
|
||||||
* updates for the cursor/lens tools. Add a minimum fuzz of 2, same
|
* updates for the cursor/lens tools. Add a minimum fuzz of 2, same
|
||||||
* as the xf86-input-wacom driver
|
* as the xf86-input-wacom driver
|
||||||
*/
|
*/
|
||||||
|
|
@ -2465,7 +2465,7 @@ tablet_setup_touch_arbitration(struct evdev_device *device,
|
||||||
struct libinput_device_group *group2 =
|
struct libinput_device_group *group2 =
|
||||||
libinput_device_get_device_group(&new_device->base);
|
libinput_device_get_device_group(&new_device->base);
|
||||||
|
|
||||||
/* same phsical device? -> better, otherwise keep the one we have */
|
/* same physical device? -> better, otherwise keep the one we have */
|
||||||
if (group1 != group2)
|
if (group1 != group2)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1361,7 +1361,7 @@ evdev_read_wheel_click_count_prop(struct evdev_device *device,
|
||||||
|
|
||||||
evdev_log_error(device,
|
evdev_log_error(device,
|
||||||
"mouse wheel click count is present but invalid, "
|
"mouse wheel click count is present but invalid, "
|
||||||
"using %d degrees for angle instead instead\n",
|
"using %d degrees for angle instead\n",
|
||||||
DEFAULT_WHEEL_CLICK_ANGLE);
|
DEFAULT_WHEEL_CLICK_ANGLE);
|
||||||
*angle = DEFAULT_WHEEL_CLICK_ANGLE;
|
*angle = DEFAULT_WHEEL_CLICK_ANGLE;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,7 @@ libinput_plugin_enable_evdev_usage(struct libinput_plugin *plugin,
|
||||||
* for P3 the injected event I is received before E.
|
* for P3 the injected event I is received before E.
|
||||||
*
|
*
|
||||||
* An example for event injection being harmful:
|
* An example for event injection being harmful:
|
||||||
* A plugin may monitor tablet proximity state and prepent
|
* A plugin may monitor tablet proximity state and prepend
|
||||||
* proximity-in events if the tablet does not send proximity-in
|
* proximity-in events if the tablet does not send proximity-in
|
||||||
* events. This plugin stops monitoring events once it sees correct
|
* events. This plugin stops monitoring events once it sees correct
|
||||||
* proximity-in events.
|
* proximity-in events.
|
||||||
|
|
@ -279,7 +279,7 @@ libinput_plugin_inject_evdev_frame(struct libinput_plugin *libinput,
|
||||||
*
|
*
|
||||||
* If called within a plugin's timer callback, any frames generated by
|
* If called within a plugin's timer callback, any frames generated by
|
||||||
* the plugin will only be seen by plugins after this plugin. These
|
* the plugin will only be seen by plugins after this plugin. These
|
||||||
* frames will be processed in the usual evdev_fame() callback and there
|
* frames will be processed in the usual evdev_frame() callback and there
|
||||||
* is no indication that the events were queued from within a timer
|
* is no indication that the events were queued from within a timer
|
||||||
* callback. Using the above example:
|
* callback. Using the above example:
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -348,7 +348,7 @@ enum libinput_tablet_pad_strip_axis_source {
|
||||||
* LIBINPUT_TABLET_TOOL_TYPE_PEN.
|
* LIBINPUT_TABLET_TOOL_TYPE_PEN.
|
||||||
* Use libinput_tablet_tool_get_tool_id() to get a specific model where applicable.
|
* Use libinput_tablet_tool_get_tool_id() to get a specific model where applicable.
|
||||||
*
|
*
|
||||||
* Note that on some device, the eraser tool is on the tail end of a pen
|
* Note that on some devices, the eraser tool is on the tail end of a pen
|
||||||
* device. On other devices, e.g. MS Surface 3, the eraser is the pen tip
|
* device. On other devices, e.g. MS Surface 3, the eraser is the pen tip
|
||||||
* while a button is held down.
|
* while a button is held down.
|
||||||
*
|
*
|
||||||
|
|
@ -730,7 +730,7 @@ enum libinput_switch {
|
||||||
* If the switch is in state @ref LIBINPUT_SWITCH_STATE_OFF, the
|
* If the switch is in state @ref LIBINPUT_SWITCH_STATE_OFF, the
|
||||||
* device is in laptop mode. If the switch is in state @ref
|
* device is in laptop mode. If the switch is in state @ref
|
||||||
* LIBINPUT_SWITCH_STATE_ON, the device is in tablet mode and the
|
* LIBINPUT_SWITCH_STATE_ON, the device is in tablet mode and the
|
||||||
* keyboard or touchpad may not be accessible.
|
* keyboard or touchpad may not be accessible.
|
||||||
*
|
*
|
||||||
* It is up to the caller to identify which devices are inaccessible
|
* It is up to the caller to identify which devices are inaccessible
|
||||||
* in tablet mode.
|
* in tablet mode.
|
||||||
|
|
@ -828,7 +828,7 @@ enum libinput_event_type {
|
||||||
LIBINPUT_EVENT_POINTER_AXIS,
|
LIBINPUT_EVENT_POINTER_AXIS,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scroll event from a wheel. This event is sent is sent **in
|
* A scroll event from a wheel. This event is sent **in
|
||||||
* addition** to the @ref LIBINPUT_EVENT_POINTER_AXIS
|
* addition** to the @ref LIBINPUT_EVENT_POINTER_AXIS
|
||||||
* event for all events with a
|
* event for all events with a
|
||||||
* libinput_event_pointer_get_axis_source() of @ref
|
* libinput_event_pointer_get_axis_source() of @ref
|
||||||
|
|
@ -843,7 +843,7 @@ enum libinput_event_type {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scroll event caused by the movement of one or more fingers on a
|
* A scroll event caused by the movement of one or more fingers on a
|
||||||
* device. This event is sent is sent **in addition** to the @ref
|
* device. This event is sent **in addition** to the @ref
|
||||||
* LIBINPUT_EVENT_POINTER_AXIS event for all events with a
|
* LIBINPUT_EVENT_POINTER_AXIS event for all events with a
|
||||||
* libinput_event_pointer_get_axis_source() of @ref
|
* libinput_event_pointer_get_axis_source() of @ref
|
||||||
* LIBINPUT_POINTER_AXIS_SOURCE_FINGER. Ignore @ref
|
* LIBINPUT_POINTER_AXIS_SOURCE_FINGER. Ignore @ref
|
||||||
|
|
@ -857,7 +857,7 @@ enum libinput_event_type {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A scroll event from a continuous scroll source, e.g. button
|
* A scroll event from a continuous scroll source, e.g. button
|
||||||
* scrolling. This event is sent is sent **in
|
* scrolling. This event is sent **in
|
||||||
* addition** to the @ref LIBINPUT_EVENT_POINTER_AXIS
|
* addition** to the @ref LIBINPUT_EVENT_POINTER_AXIS
|
||||||
* event for all events with a
|
* event for all events with a
|
||||||
* libinput_event_pointer_get_axis_source() of @ref
|
* libinput_event_pointer_get_axis_source() of @ref
|
||||||
|
|
@ -2423,7 +2423,7 @@ libinput_event_tablet_tool_wheel_has_changed(struct libinput_event_tablet_tool *
|
||||||
* width of the device. See the libinput documentation for more details.
|
* width of the device. See the libinput documentation for more details.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2446,7 +2446,7 @@ libinput_event_tablet_tool_get_x(struct libinput_event_tablet_tool *event);
|
||||||
* width of the device. See the libinput documentation for more details.
|
* width of the device. See the libinput documentation for more details.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2500,7 +2500,7 @@ libinput_event_tablet_tool_get_dy(struct libinput_event_tablet_tool *event);
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2516,7 +2516,7 @@ libinput_event_tablet_tool_get_pressure(struct libinput_event_tablet_tool *event
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2556,7 +2556,7 @@ libinput_event_tablet_tool_get_tilt_x(struct libinput_event_tablet_tool *event);
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis in degrees
|
* @return The current value of the axis in degrees
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2578,7 +2578,7 @@ libinput_event_tablet_tool_get_tilt_y(struct libinput_event_tablet_tool *event);
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2596,7 +2596,7 @@ libinput_event_tablet_tool_get_rotation(struct libinput_event_tablet_tool *event
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
*
|
*
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
*/
|
*/
|
||||||
|
|
@ -2630,7 +2630,7 @@ libinput_event_tablet_tool_get_size_major(struct libinput_event_tablet_tool *eve
|
||||||
* rotation must be taken into account.
|
* rotation must be taken into account.
|
||||||
*
|
*
|
||||||
* Where no rotation is available on a tool, or where rotation is zero, the
|
* Where no rotation is available on a tool, or where rotation is zero, the
|
||||||
* minor axis aligns with the y axis and the minor axis with the x axis.
|
* major axis aligns with the y axis and the minor axis with the x axis.
|
||||||
*
|
*
|
||||||
* If this axis does not exist on the current tool, this function returns 0.
|
* If this axis does not exist on the current tool, this function returns 0.
|
||||||
*
|
*
|
||||||
|
|
@ -2823,10 +2823,10 @@ libinput_event_tablet_tool_get_button_state(struct libinput_event_tablet_tool *e
|
||||||
* @ingroup event_tablet
|
* @ingroup event_tablet
|
||||||
*
|
*
|
||||||
* For the button of a @ref LIBINPUT_EVENT_TABLET_TOOL_BUTTON event, return the total
|
* For the button of a @ref LIBINPUT_EVENT_TABLET_TOOL_BUTTON event, return the total
|
||||||
* number of buttons pressed on all devices on the associated seat after the
|
* number of buttons pressed on all devices on the associated seat after
|
||||||
* the event was triggered.
|
* the event was triggered.
|
||||||
*
|
*
|
||||||
" @note It is an application bug to call this function for events other than
|
* @note It is an application bug to call this function for events other than
|
||||||
* @ref LIBINPUT_EVENT_TABLET_TOOL_BUTTON. For other events, this function returns 0.
|
* @ref LIBINPUT_EVENT_TABLET_TOOL_BUTTON. For other events, this function returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet tool event
|
* @param event The libinput tablet tool event
|
||||||
|
|
@ -3205,7 +3205,7 @@ libinput_event_tablet_pad_get_base_event(struct libinput_event_tablet_pad *event
|
||||||
* returns 0.
|
* returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet pad event
|
* @param event The libinput tablet pad event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
* @retval -1 The finger was lifted
|
* @retval -1 The finger was lifted
|
||||||
*
|
*
|
||||||
* @since 1.3
|
* @since 1.3
|
||||||
|
|
@ -3259,8 +3259,8 @@ libinput_event_tablet_pad_get_ring_source(struct libinput_event_tablet_pad *even
|
||||||
* logical orientation.
|
* logical orientation.
|
||||||
*
|
*
|
||||||
* If the source is @ref LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER,
|
* If the source is @ref LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER,
|
||||||
* libinput sends a terminating event with a ring value of -1 when the
|
* libinput sends a terminating event with a strip value of -1 when the
|
||||||
* finger is lifted from the ring. A caller may use this information to e.g.
|
* finger is lifted from the strip. A caller may use this information to e.g.
|
||||||
* determine if kinetic scrolling should be triggered.
|
* determine if kinetic scrolling should be triggered.
|
||||||
*
|
*
|
||||||
* @note It is an application bug to call this function for events other than
|
* @note It is an application bug to call this function for events other than
|
||||||
|
|
@ -3268,7 +3268,7 @@ libinput_event_tablet_pad_get_ring_source(struct libinput_event_tablet_pad *even
|
||||||
* returns 0.
|
* returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet pad event
|
* @param event The libinput tablet pad event
|
||||||
* @return The current value of the the axis
|
* @return The current value of the axis
|
||||||
* @retval -1 The finger was lifted
|
* @retval -1 The finger was lifted
|
||||||
*
|
*
|
||||||
* @since 1.3
|
* @since 1.3
|
||||||
|
|
@ -3404,7 +3404,7 @@ libinput_event_tablet_pad_get_key_state(struct libinput_event_tablet_pad *event)
|
||||||
* returns 0.
|
* returns 0.
|
||||||
*
|
*
|
||||||
* @param event The libinput tablet pad event
|
* @param event The libinput tablet pad event
|
||||||
* @return The delta of the the axis
|
* @return The delta of the axis
|
||||||
*
|
*
|
||||||
* @since 1.26
|
* @since 1.26
|
||||||
*/
|
*/
|
||||||
|
|
@ -3529,7 +3529,7 @@ libinput_event_tablet_pad_get_time_usec(struct libinput_event_tablet_pad *event)
|
||||||
* @ingroup event_switch
|
* @ingroup event_switch
|
||||||
*
|
*
|
||||||
* Return the switch that triggered this event.
|
* Return the switch that triggered this event.
|
||||||
* For pointer events that are not of type @ref
|
* For switch events that are not of type @ref
|
||||||
* LIBINPUT_EVENT_SWITCH_TOGGLE, this function returns 0.
|
* LIBINPUT_EVENT_SWITCH_TOGGLE, this function returns 0.
|
||||||
*
|
*
|
||||||
* @note It is an application bug to call this function for events other than
|
* @note It is an application bug to call this function for events other than
|
||||||
|
|
@ -3665,7 +3665,7 @@ libinput_udev_create_context(const struct libinput_interface *interface,
|
||||||
* available on this seat, or if devices are available but fail to open in
|
* available on this seat, or if devices are available but fail to open in
|
||||||
* @ref libinput_interface::open_restricted. Devices that do not have the
|
* @ref libinput_interface::open_restricted. Devices that do not have the
|
||||||
* minimum capabilities to be recognized as pointer, keyboard or touch
|
* minimum capabilities to be recognized as pointer, keyboard or touch
|
||||||
* device are ignored. Such devices and those that failed to open
|
* device are ignored. Such devices and those that failed to open are
|
||||||
* ignored until the next call to libinput_resume().
|
* ignored until the next call to libinput_resume().
|
||||||
*
|
*
|
||||||
* This function may only be called once per context.
|
* This function may only be called once per context.
|
||||||
|
|
@ -3762,7 +3762,7 @@ libinput_path_remove_device(struct libinput_device *device);
|
||||||
* Paths are not traversed recursively.
|
* Paths are not traversed recursively.
|
||||||
*
|
*
|
||||||
* Plugins that have a 0 byte size shadow any plugins with the same name
|
* Plugins that have a 0 byte size shadow any plugins with the same name
|
||||||
* but do not provide any fuctionality. This allows disabling a plugin
|
* but do not provide any functionality. This allows disabling a plugin
|
||||||
* by simply dropping an empty file in a higher-priority directory.
|
* by simply dropping an empty file in a higher-priority directory.
|
||||||
*
|
*
|
||||||
* This function must be called before libinput_plugin_system_load_plugins().
|
* This function must be called before libinput_plugin_system_load_plugins().
|
||||||
|
|
@ -5838,7 +5838,7 @@ libinput_device_config_accel_apply(struct libinput_device *device,
|
||||||
* types (e.g. scrolling) may be added in the future.
|
* types (e.g. scrolling) may be added in the future.
|
||||||
*
|
*
|
||||||
* The special type @ref LIBINPUT_ACCEL_TYPE_FALLBACK specifies the acceleration
|
* The special type @ref LIBINPUT_ACCEL_TYPE_FALLBACK specifies the acceleration
|
||||||
* function to be moved for any movement produced by the device that does not
|
* function to be used for any movement produced by the device that does not
|
||||||
* have a specific acceleration type defined.
|
* have a specific acceleration type defined.
|
||||||
*
|
*
|
||||||
* Use to specify the acceleration function type in
|
* Use to specify the acceleration function type in
|
||||||
|
|
@ -5879,7 +5879,7 @@ enum libinput_config_accel_type {
|
||||||
*
|
*
|
||||||
* Each custom acceleration function is defined by ``n`` points spaced uniformly
|
* Each custom acceleration function is defined by ``n`` points spaced uniformly
|
||||||
* along the x-axis starting from 0 and continuing in a constant step size.
|
* along the x-axis starting from 0 and continuing in a constant step size.
|
||||||
* There by the function is defined by the following points:
|
* Thereby the function is defined by the following points:
|
||||||
* (0 * step, f[0]), (1 * step, f[1]), ..., ((n - 1) * step, f[n - 1]).
|
* (0 * step, f[0]), (1 * step, f[1]), ..., ((n - 1) * step, f[n - 1]).
|
||||||
* The x-axis represents the device-speed in device units per millisecond.
|
* The x-axis represents the device-speed in device units per millisecond.
|
||||||
* The y-axis represents the pointer-speed.
|
* The y-axis represents the pointer-speed.
|
||||||
|
|
@ -7099,7 +7099,7 @@ libinput_device_config_rotation_get_default_angle(struct libinput_device *device
|
||||||
* Check if a tablet tool can have a custom pressure range.
|
* Check if a tablet tool can have a custom pressure range.
|
||||||
*
|
*
|
||||||
* @param tool The libinput tool
|
* @param tool The libinput tool
|
||||||
* @return Non-zero if a device has an adjustible pressure range, zero otherwise.
|
* @return Non-zero if a device has an adjustable pressure range, zero otherwise.
|
||||||
*
|
*
|
||||||
* @see libinput_tablet_tool_config_pressure_range_set
|
* @see libinput_tablet_tool_config_pressure_range_set
|
||||||
* @see libinput_tablet_tool_config_pressure_range_get_minimum
|
* @see libinput_tablet_tool_config_pressure_range_get_minimum
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
|
#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
|
||||||
#define NCHARS(x) ((size_t)(((x) + 7) / 8))
|
#define NCHARS(x) ((size_t)(((x) + 7) / 8))
|
||||||
|
|
||||||
/* This bitfield helper implementation is taken from from libevdev-util.h,
|
/* This bitfield helper implementation is taken from libevdev-util.h,
|
||||||
* except that it has been modified to work with arrays of unsigned chars
|
* except that it has been modified to work with arrays of unsigned chars
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ file_destroy(struct file *f)
|
||||||
DEFINE_DESTROY_CLEANUP_FUNC(file);
|
DEFINE_DESTROY_CLEANUP_FUNC(file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appends to the given list all files files in the given directory that end
|
* Appends to the given list all files in the given directory that end
|
||||||
* with the given with the given suffix.
|
* with the given suffix.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
filenames(const char *directory, const char *suffix, struct list *list)
|
filenames(const char *directory, const char *suffix, struct list *list)
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ stringbuf_ensure_space(struct stringbuf *b, size_t sz)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Append the the data from the fd to the string buffer.
|
* Append the data from the fd to the string buffer.
|
||||||
*/
|
*/
|
||||||
static inline int
|
static inline int
|
||||||
stringbuf_append_from_fd(struct stringbuf *b, int fd, size_t maxlen)
|
stringbuf_append_from_fd(struct stringbuf *b, int fd, size_t maxlen)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ This tool usually needs to be run as root to have access to the
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-\-compress\-motion\-events
|
.B \-\-compress\-motion\-events
|
||||||
Compress repeated motion, axis, scrool, and gesture update
|
Compress repeated motion, axis, scroll, and gesture update
|
||||||
events into a single line. This only takes effect if stdout is a TTY.
|
events into a single line. This only takes effect if stdout is a TTY.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-\-device \fI/dev/input/event0\fR
|
.B \-\-device \fI/dev/input/event0\fR
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ light grey to help debug cusor positioning. The cursor movement is
|
||||||
the one as seen by libinput and may not match the cursor movement of the
|
the one as seen by libinput and may not match the cursor movement of the
|
||||||
display server.
|
display server.
|
||||||
.PP
|
.PP
|
||||||
The unaccelerated cusor motion is displayed as a grey upside-down triangle.
|
The unaccelerated cursor motion is displayed as a grey upside-down triangle.
|
||||||
The movement of this cursor typically reflects the relative motion in device
|
The movement of this cursor typically reflects the relative motion in device
|
||||||
units and can differ significantly to the normal cursor movement.
|
units and can differ significantly to the normal cursor movement.
|
||||||
.PP
|
.PP
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ A dictionary with libinput-specific information.
|
||||||
A dictionary with system information.
|
A dictionary with system information.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B devices: {...}
|
.B devices: {...}
|
||||||
A list of devices containing the description and and events of each device.
|
A list of devices containing the description and events of each device.
|
||||||
|
|
||||||
.SS libinput
|
.SS libinput
|
||||||
.TP 8
|
.TP 8
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ Replay the recording after waiting for s seconds. This replaces the default
|
||||||
interactive prompt to start the replay.
|
interactive prompt to start the replay.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
.PP
|
.PP
|
||||||
This tool replays events from a recording through the the kernel and is
|
This tool replays events from a recording through the kernel and is
|
||||||
independent of libinput. In other words, updating or otherwise changing
|
independent of libinput. In other words, updating or otherwise changing
|
||||||
libinput will not alter the output from this tool. libinput itself does not
|
libinput will not alter the output from this tool. libinput itself does not
|
||||||
need to be in use to replay events.
|
need to be in use to replay events.
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ Run the
|
||||||
This is the most complete set of tests to run in libinput.
|
This is the most complete set of tests to run in libinput.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B utils
|
.B utils
|
||||||
Run the test suite suite for internal utility functions.
|
Run the test suite for internal utility functions.
|
||||||
.SH LIBINPUT
|
.SH LIBINPUT
|
||||||
Part of the
|
Part of the
|
||||||
.B libinput(1)
|
.B libinput(1)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue