# Touchpad

This is the documentation for the &tde; &kcontrol; module which configures the touchpad, if one is detected.

## Touchpad

The module automatically detects the touchpad and provides options for configuring its behaviour. The provided options are grouped into five categories:

- Behaviour

- Speed

- Tapping

- Scrolling options

- Scrolling method

The available options depend on which driver is currently in use. This module supports the modern Libinput driver, as well as the older Synaptics driver. While the Synaptics driver is considered unmaintained, one may choose it over the newer Libinput driver if some feature they need is not supported by the Libinput driver and vice versa. For an overview of features supported by each driver see Driver compatibility.

### Behaviour

Disable touchpad while typing

- If this option is checked, the touchpad is disabled while you are typing, so as to prevent accidental cursor movement and clicks. The touchpad is enabled again after a short while.

Middle button emulation

- If this option is enabled, a simultaneous left and right button click is automatically transformed into a middle button click. Some devices provide middle mouse button emulation but do not allow enabling/disabling that emulation.

### Speed

Acceleration

- With this option you can change the speed that the pointer moves on the screen.

Use adaptive profile

- If this option is enabled, the adaptive acceleration profile is used, otherwise the flat profile is used.

  The adaptive profile is the default profile used by the Libinput driver. It takes the current speed of the device into account when deciding on acceleration.

  The flat profile applies a constant factor to every pointer movement, regardless of the speed of motion, providing 1:1 movement between the pointer and the device. Techincally, each delta (dx, dy) results in an accelerated delta (dx * factor, dy * factor).

### Tapping

Tap-to-click

- This option enables or disables the "tap-to-click" feature (also known as "tapping"). With this option enabled, a tap on the touchpad is interpreted as a click.

  Several other features are also related to tapping, including tap-and-drag and multiple finger taps. These features can be configured via the rest of the options of this section. This option must be enabled for the rest to work.

Tap-and-drag

- This option enables or disables the "tap-and-drag" feature. Tap-and-drag is a short tap which is immediately followed by a longer tap, with the finger being then held down. This simulates a button press and moving the finger around can thus cause the the object under the mouse pointer to be dragged around. When the finger is lifted, the dragging is completed.

Tap-and-drag lock

- This option modifies the behaviour of the tap-and-drag feature so that lifting a finger while dragging will not immediately stop dragging. Therefore, if you place the finger down on the touchpad again before a short while has passed, the dragging will resume from the place it was left.

  This option is disabled when the tap-and-drag feature is not enabled.

Two-finger tap

- With this option you can choose whether the two-finger tap will invoke a middle click or a right click action. The three-finger tap is automatically assigned the other action.

  The default for this option is the right click. This means that a two-finger tap will emulate a right button click, whereas a three-finger tap will emulate a middle button click.

### Scrolling options

Vertical scrolling

- This option enables/disables the vertical scrolling gesture on the touchpad.

  The gesture used for scrolling depends on the selected scrolling method, see Scrolling method.

Horizontal scrolling

- This option enables/disables the horizontal scrolling gesture on the touchpad.

  The gesture used for scrolling depends on the selected scrolling method, see Scrolling method.

Reverse scroll direction

- If this option is checked, the scrolling direction is reversed to resemble natural movement of content. This feature is also known as Natural scrolling.

  With the Synaptics driver you can configure this option for individual directions, see the options Apply to horizontal scrolling and Apply to vertical scrolling below.

Apply to horizontal scrolling

- If this option is checked, the horizontal scrolling direction is reversed (Synaptics driver only).

Apply to vertical scrolling

- If this option is checked, the vertical scrolling direction is reversed (Synaptics driver only).

### Scrolling method

This section allows you to pick your preferred scrolling method. This will determine the gesture which you will use to trigger scrolling.

The two most common options are Two-finger and Edge scrolling.

1. Two-finger scrolling entails a movement with two fingers vertically or horizontally upon the surface of the touchpad.

2. Edge scrolling on the other hand tracks movements with one finger long the right or bottom edge of the touchpad.

Additionally, the Libinput driver provides the Button scrolling method. On-button scrolling converts the motion of a device into scroll events while a designated button is held down.

### Driver compatibility

Group | Feature | LibInput driver | Synaptics driver
GENERIC | Enable/disable touchpad | YES | YES
BEHAVIOUR | Disable touchpad while typing | YES | YES*
BEHAVIOUR | Middle button emulation | YES | YES**
SPEED | Acceleration | YES | NO
SPEED | Acceleration profile | YES | NO
TAPPING | Tap-to-click | YES | YES
TAPPING | Tap-and-drag | YES | YES
TAPPING | Tap-and-drag lock | YES | NO
TAPPING | Two-finger/three-finger tap swapping | YES | YES
SCROLLING OPTIONS | Enable/disable vertical scrolling | YES*** | YES
SCROLLING OPTIONS | Enable/disable horizontal scrolling | YES | YES
SCROLLING OPTIONS | Enable/disable natural scrolling | YES | YES
SCROLLING OPTIONS | Enable/disable vertical natural scrolling | NO | YES
SCROLLING OPTIONS | Enable/disable horizontal natural scrolling | NO | YES
SCROLLING METHODS | Two-finger | YES | YES
SCROLLING METHODS | Edge | YES | YES
SCROLLING METHODS | Button | YES | NO

* Synaptics supported using external tdesyndaemon service, automatically started/stopped.

** Not configurable with the Synaptics driver.

*** Disabling vertical scrolling under the Libinput driver disables scrolling entirely.