mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 16:10:06 +01:00
This is a large commit because it's difficult to split this up and we don't care about bisecting here anyway. doxygen is going to produce the API documentation only sphinx is going to produce the prose user (and a bit of developer) documentation. The source split is doc/api and doc/user. Steps performed: - run the doxygen-to-sphinx.sh script to convert all .dox sources to .rst - manually fixed the .rst to render correctly - add a few extra .rst documents to generate the right hierarchy - hook up sphinx-build in meson - add a new @mainpage for doxygen more aimed at developers For the build directory: - sphinx produces /Documentation - doxygen now produces /api/ These need to be manually combined in the wayland-web repo, meson doesn't support subdirectories as output paths within the build dir and the documentation doesn't need to be installed anywhere. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
35 lines
1.8 KiB
ReStructuredText
35 lines
1.8 KiB
ReStructuredText
.. _middle_button_emulation:
|
|
|
|
==============================================================================
|
|
Middle button emulation
|
|
==============================================================================
|
|
|
|
Middle button emulation provides users with the ability to generate a middle
|
|
click even when the device does not have a physical middle button available.
|
|
|
|
When middle button emulation is enabled, a simultaneous press of the left
|
|
and right button generates a middle mouse button event. Releasing the
|
|
buttons generates a middle mouse button release, the left and right button
|
|
events are discarded otherwise.
|
|
|
|
The middle button release event may be generated when either button is
|
|
released, or when both buttons have been released. The exact behavior is
|
|
device-dependent, libinput will implement the behavior that is most
|
|
appropriate to the physical device.
|
|
|
|
The middle button emulation behavior when combined with other device
|
|
buttons, including a physical middle button is device-dependent.
|
|
For example, :ref:`clickpad_softbuttons` provides a middle button area when
|
|
middle button emulation is disabled. That middle button area disappears
|
|
when middle button emulation is enabled - a middle click can then only be
|
|
triggered by a simultaneous left + right click.
|
|
|
|
Some devices provide middle mouse button emulation but do not allow
|
|
enabling/disabling that emulation. Likewise, some devices may allow middle
|
|
button emulation but have it disabled by default. This is the case for most
|
|
mouse-like devices where a middle button is detected.
|
|
|
|
libinput provides **libinput_device_config_middle_emulation_set_enabled()** to
|
|
enable or disable middle button emulation. See :ref:`faq_configure_wayland`
|
|
and :ref:`faq_configure_xorg` for info on how to enable or disable middle
|
|
button emulation in the Wayland compositor or the X stack.
|