From eecb5d0947ea34d139e49c2be2f9ebaf4bf3323d Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Sat, 6 Dec 2025 20:05:36 +0000 Subject: [PATCH] labwc-config(5): clarify touchpad and touchscreen sections --- docs/labwc-config.5.scd | 58 +++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/docs/labwc-config.5.scd b/docs/labwc-config.5.scd index 74442362..4e7d7ad8 100644 --- a/docs/labwc-config.5.scd +++ b/docs/labwc-config.5.scd @@ -703,6 +703,45 @@ extending outward from the snapped edge. invisible zones just beyond the window that serve as click targets for mouse actions. Default is 8. +# INPUT CONFIGURATION + +This section describes configuration of input devices including: + +- Keyboards +- Mice +- Touchpads (sometimes referred to as laptop trackpads) +- Touchscreens +- Tablets +- Tablet tools (like stylus pens) + +It aims to clarify related terminology and separation of concerns. + +Keyboards are configured in the ** section below and are simple in +this regard. + +Touchpads and mice are harder. They are both considered to be *pointer* devices +by the compositor, and can be configured in the ** and ** +sections. Any setting that is supported by libinput is configured in the +** section, and anything else is in **. Touchpad devices can +generate gesture events, like swipe and pinch. There are some related settings +(e.g. *threeFingerDrag* and *twoFingerScroll*) in the ** section. + +In the Wayland Compositor domain, events associated with touchscreens are +sometimes simply referred to as *touch* events. Touchscreens can be configured +in both the ** and ** sections. Note that touchscreen gestures +are not interpreted by libinput, nor labwc. Any touch point is passed to the +client (application) for any interpretation of gestures. + +Tablets are considered special by libinput although in the eyes of the Wayland +protocol they are merely a *touch* capability. Tablets and associated tablet +tools are configured in the **, ** and ** +sections. Note that the term *tablet* in libinput (and labwc) refers to graphics +tablets only (e.g. Wacom Intuos), not to tablet devices like the Apple iPad. + +References: +- https://wayland.freedesktop.org/libinput/doc/latest/tablet-support.html +- https://wayland.freedesktop.org/libinput/doc/latest/gestures.html + ## KEYBOARD ** [on|off] @@ -811,6 +850,9 @@ extending outward from the snapped edge. ## MOUSE +This section relates to mice and touchpads - which are both considered pointer +input-devices by the Wayland protocol. + ** Set double click time in milliseconds. Default is 500. @@ -921,6 +963,11 @@ extending outward from the snapped edge. ## TOUCH +This section relates to touchscreens and *not* touchpads. + +Note: To rotate touch events with output rotation, use the libinput +*calibrationMatrix* setting. + ``` ``` @@ -1083,14 +1130,9 @@ extending outward from the snapped edge. attribute is provided, a 'default' device profile will created that will act as the fallback for all libinput devices. Category can be set to any of the following types: - - *touch* - Devices which have a defined width/height, but do not - support multitouch (i.e. they cannot track multiple locations where - the screen has been touched). Drawing tablets typically fall into this - type. - - *touchpad* - Same as 'touch' but support multitouch. This typically - includes laptop track pads with two-finger scroll and swipe gestures. - - *non-touch* - Anything not described above, for example traditional - mouse pointers. + - *touch* - Includes touchscreens and drawing-tablets. + - *touchpad* - Includes touchpads (also known as laptop trackpads) + - *non-touch* - Includes traditional mice - *default* - Defines a device-category applicable to all devices not matched by anything else. This can be useful for a fallback, or if you want the same settings to be applied to all devices.