Touchpad scrolling speed linux

Содержание
  1. Как в Linux настроить «колесо прокрутки» на тачпаде?
  2. Touchpad Synaptics
  3. Contents
  4. Installation
  5. Configuration
  6. Frequently used options
  7. Configuration on the fly
  8. Console tools
  9. Graphical tools
  10. Xfce4/Cinnamon
  11. Advanced configuration
  12. Using xinput to determine touchpad capabilities
  13. Synclient
  14. evtest
  15. Circular scrolling
  16. Natural scrolling
  17. Software toggle
  18. Disable touchpad while typing
  19. Using the driver’s automatic palm detection
  20. Using syndaemon
  21. Disable touchpad on mouse detection
  22. Basic desktop
  23. GNOME
  24. System with multiple X sessions
  25. Buttonless touchpads (aka ClickPads)
  26. Bottom edge correction
  27. Troubleshooting
  28. Touchpad does not work after resuming from hibernate/suspend
  29. xorg.conf.d/70-synaptics.conf does not seem to apply in MATE
  30. The touchpad is not working, Xorg.0.log shows «Query no Synaptics: 6003C8»
  31. Touchpad detected as «PS/2 Generic Mouse» or «Logitech PS/2 mouse»
  32. Laptops with touchscreen & touchpad
  33. Non-functional Synaptics special abilities (multi-tap, scrolling, etc.)
  34. No Multi-touch in some Elantech touchpads
  35. Cursor jump
  36. Touchpad device is not located at /dev/input/*
  37. Firefox and special touchpad events
  38. Firefox 17.0 and later
  39. Opera: horizontal scrolling issues
  40. Scrolling and multiple actions with Synaptics on LG laptops
  41. Other external mouse issues
  42. Touchpad synchronization issues
  43. Xorg.log.0 shows SynPS/2 Synaptics touchpad can not grab event device, errno=16
  44. Synaptics loses multitouch detection after rebooting from Windows
  45. Touchpad not recognized after shutdown from Arch
  46. Trackpoint and Clickpad

Как в Linux настроить «колесо прокрутки» на тачпаде?

На Дебиан у меня не работает прокрутка: ни двумя пальцами по тачпаду, ни по краешку тачпада.

Как добавить эту функцию моему тачпаду?

synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1

Если есть DE (типа gnome, mate, kde. ), то обычно это просто нужно включить в настройках.

У меня тачпад тоже не работал нормально, поставил пакет xinput-synaptics или как-то так. Сразу заработало, как положено.

нет, это послеперезагрузкиникак не повлияло

В смысле, после перезагрузки? Параметры меняются для текущей сессии.

в текущей тоже никакого результата. ни от имени юзера, ни от имени рута

Я немного погуглил, и похоже, эта настройка ничего не даст. Она для прокрутки дополнительными кнопками, что немного не то. Судя по тем настройкам, что показывает xinput, сделать скролл он не сможет.

Проверь, какой у тебя драйвер используется для тачпада:

У тебя установлен пакет xserver-xorg-input-synaptics?

По какой-то причине у тебя тачпадом занимается общий драйвер evdev вместо специализированного synaptics. Поэтому работают только базовые функции, без дополнительных фич. По идее, достаточно иметь установленным пакет xserver-xorg-input-synaptics, чтобы synaptics подхватывал устройство. Но у тебя это по какой-то причине не происходит.

Может, у тебя есть в системе файл /etc/X11/xorg.conf или какие-нибудь файлы в директории /etc/X11/xorg.conf.d/?

Если нет, попробуй создать файл /etc/X11/xorg.conf.d/10-force-synaptics.conf с содержимым:

и перезагрузиться. После этого снова посмотри на вывод grep ‘input driver’ /var/log/Xorg.0.log .

таких файлов нет. а после предложенного конфига и перезагрузки, дебиан показал на черном экране сообщение о том, что он чего-то не нашел. пришлось удалить такой файл конфигурации.

И выложи Xorg.0.log целиком. Может, там где-то ещё какие-то намёки есть.

Источник

Touchpad Synaptics

This article details the installation and configuration process of the Synaptics input driver for Synaptics (and ALPS) touchpads found on most notebooks.

Contents

Installation

The Synaptics driver can be installed with the package xf86-input-synaptics .

Configuration

The primary method of configuration for the touchpad is through an Xorg server configuration file. After installing xf86-input-synaptics, a default configuration file is located at /usr/share/X11/xorg.conf.d/70-synaptics.conf . Users can copy this file to /etc/X11/xorg.conf.d/ and edit it to configure the various driver options available. Refer to the synaptics(4) manual page for a complete list of available options. Machine-specific options can be discovered using #Synclient.

Frequently used options

The following example file configures some common options, including vertical, horizontal and circular scrolling as well as tap-to-click:

TapButton1 (integer) configures which mouse-button is reported on a non-corner, one finger tap. TapButton2 (integer) configures which mouse-button is reported on a non-corner, two finger tap TapButton3 (integer) configures which mouse-button is reported on a non-corner, three finger tap RBCornerButton (integer) configures which mouse-button is reported on a right bottom corner, one finger tap (use Option «RBCornerButton» «3» to achieve Ubuntu style tap behaviour for right mouse button in lower right corner) RTCornerButton (integer) as above, but for top right corner, one finger tap. VertEdgeScroll (boolean) enables vertical scrolling while dragging across the right edge of the touch pad. HorizEdgeScroll (boolean) enables horizontal scrolling while dragging across the bottom edge of the touch pad. VertTwoFingerScroll (boolean) enables vertical scrolling using two fingers. HorizTwoFingerScroll (boolean) enables horizontal scrolling using two fingers. EmulateTwoFingerMinZ/W (integer) play with this value to set the precision of two finger scroll. FingerLow (integer) when finger pressure drops below this value, the driver counts it as a release. FingerHigh (integer) when finger pressure goes above this value, the driver counts it as a touch. MaxTapTime Determines how «crisp» a tap must be to be considered a real tap. Decrease the value to require a more crisp tap. Properly adjusting this parameter can reduce false positives when the hands hover over or lightly touch the pad. VertScrollDelta and HorizScrollDelta (integer) configures the speed of scrolling, it is a bit counter-intuitive because higher values produce greater precision and thus slower scrolling. Negative values cause natural scrolling like in macOS.

Configuration on the fly

Next to the traditional method of configuration, the Synaptics driver also supports on the fly configuration. This means that users can set certain options through a software application, these options are applied immediately without needing to restart Xorg. This is useful to test configuration options before you include them in the configuration file or a script. Note that on the fly configuration is not persistent and lasts only until the Xorg server exists.

Console tools

  • Synclient — command line utility to configure and query Synaptics driver settings.

https://xorg.freedesktop.org/ || xf86-input-synaptics

  • xinput — general-purpose utility to configure X input devices.

https://xorg.freedesktop.org/ || xorg-xinput

Graphical tools

  • GPointing Device Settings — Provides graphical on the fly configuration for several pointing devices connected to the system, including your synaptics touch pad. This application replaces GSynaptics as the preferred tool for graphical touchpad configuration through the synaptics driver.

https://wiki.gnome.org/Attic/GPointingDeviceSettings || gpointing-device-settingsAUR

  • kcm_touchpad — New configuration tool for KDE Plasma 5. It provides a module under input devices in System Settings. It is to be considered a replacement for synaptiks and the old kcm-touchpad module.

https://invent.kde.org/plasma/plasma-desktop/-/tree/master/kcms/touchpad || plasma-desktop

Xfce4/Cinnamon

To change these settings in XFCE 4′:

  1. Open System Settings.
  2. Click Mouse and Touchpad.
  3. Change the settings on the Touchpad tab.

To change these settings in Cinnamon:

  1. Open Cinnamon System Settings.
  2. Click Mouse and Touchpad.
  3. Change the settings on the Touchpad tab.

It is possible to configure the way MATE handles the touchpad:

  1. Run dconf-editor .
  2. Edit the keys in the org.mate.desktop.peripherals.touchpad folder.
Читайте также:  Как убрать табличку срок действия вашей лицензии windows истекает

To prevent Mate settings daemon from overriding existing settings, do as follows:

  1. Run dconf-editor .
  2. Edit org.mate.SettingsDaemon.plugins.mouse .
  3. Uncheck the active setting.

Advanced configuration

Using xinput to determine touchpad capabilities

Depending on your model, synaptic touchpads may have or lack capabilities. We can determine which capabilities your hardware supports by using xinput(1) .

  • left, middle and right hardware buttons
  • two finger detection
  • three finger detection
  • configurable resolution

First, find the name of your touchpad:

You can now use xinput to find your touchpad’s capabilities:

From left to right, this shows:

  • 1 : device has a physical left button
  • 0 : device does not have a physical middle button
  • 1 : device has a physical right button
  • 0 : device does not support two-finger detection
  • 0 : device does not support three-finger detection
  • 1 : device can configure vertical resolution
  • 1 : device can configure horizontal resolution

Use xinput list-props «SynPS/2 Synaptics TouchPad» to list all device properties. See synaptics(4) for full documentation of the Synaptics properties.

Synclient

Synclient can configure every option available to the user as documented in synaptics(4) . A full list of the current user settings can be brought up:

Every listed configuration option can be controlled through synclient, for example:

  • Enable palm detection:
  • Configure button events (right button event for two finger tap here):
  • Disable the touchpad:

After you have successfully tried and tested your options through synclient, you can make these changes permanent by adding them to /etc/X11/xorg.conf.d/70-synaptics.conf .

evtest

The tool evtest can display pressure and placement on the touchpad in real-time, allowing further refinement of the default Synaptics settings. The evtest monitoring can be started with:

X denotes the touchpad’s ID. It can be found by looking at the output of cat /proc/bus/input/devices .

evtest needs exclusive access to the device which means it cannot be run together with an X server instance. You can either kill the X server or run evtest from a different virtual terminal (e.g., by pressing Ctrl+Alt+F2 ).

The tool xorg-xev can display taps, clicks, pressure, placement and other measured parameters in real-time, allowing still further refinement of the default Synaptics settings. xev can be run in X and needs no specifics. using the -event parameter, it is possible to restrict the types of events that are reported.

Circular scrolling

Circular scrolling is a feature that Synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise. To enable circular scrolling, add the following options to the touchpad device section of /etc/X11/xorg.conf.d/70-synaptics.conf :

The option CircScrollTrigger may be one of the following values, determining which edge circular scrolling should start:

Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you start from.

To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.

Natural scrolling

It is possible to enable natural scrolling through Synaptics. Simply use negative values for VertScrollDelta and HorizScrollDelta like so:

Software toggle

You might want to turn the touchpad on and off with a simple button click or shortcut. This can be done by binding the following xinput-based script:

Alternatively, synclient can be used to toggle the touchpad. However, it can only turn off touch events but not physical clickpad button usage:

Disable touchpad while typing

Using the driver’s automatic palm detection

First of all you should test if it works properly for your touchpad and if the settings are accurate. Enable palm detection with

Then test the typing. You can tweak the detection by setting the minimum width for the touch to be considered a palm, for example:

And you can tweak the minimum pressure required for the touch to be considered a palm, for example:

Once you have found the correct settings, you can add them to your config file:

Using syndaemon

syndaemon(1) monitors keyboard activity and disables the touchpad while typing. It has several options to control when the disabling occurs. View them with

For example, to disable tapping and scrolling for 0.5 seconds after each keypress (ignoring modifier keys like Ctrl ), use

Once you have determined the options you like, you should use your login manager or xinitrc to have it run automatically when X starts. The -d option will make it start in the background as a daemon.

Disable touchpad on mouse detection

With the assistance of udev, it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, use one of the following rules.

Basic desktop

This is a basic rule generally for non-«desktop environment» sessions:

If the touchpad is always deactivated at startup, even when no mouse is plugged in, try adding the following criteria between the KERNEL and ACTION parameters above:

The factual accuracy of this article or section is disputed.

GDM usually stores the Xauthority files in /var/run/gdm in a randomly-named directory. You should find your actual path to the Xauthority file which can be done using ps ax . For some reason, multiple authority files may appear for a user, so a rule like this will be necessary:

Furthermore, you should validate that your udev script is running properly. You can check for the conditions by running udevadm monitor -p with root privileges.

With syndaemon running

syndaemon whether started by the user or the desktop environment can conflict with synclient and will need to be disabled. A rule like this will be needed:

touchpad-state

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

A touchpad-state-git AUR package created around the udev rules in #With syndaemon running is available. It includes a udev rule and script:

GNOME

GNOME users can install the GNOME shell extension Touchpad Indicator, change Switch Method to Synclient and enable Automatically switch Touchpad On/Off in its preferences.

If using Plasma, the plasma-desktop package can be used to manage the touchpad.

System with multiple X sessions

The factual accuracy of this article or section is disputed.

For an environment where multiple users are present, a slightly different approach is needed to detect the current users X environment. This script will help achieving this:

Update the TRACKPAD_NAME variable for your system configuration. Run find /sys/class/input/ -name mouse* -exec udevadm info -a <> \; | grep ‘ATTRS‘ to get a list of useful mice-names. Choose the one for your trackpad.

Читайте также:  Linux монтирование разделов ntfs

Then have udev run this script when USB mices are plugged in or out, with these udev rules:

Buttonless touchpads (aka ClickPads)

Ever more laptops have a special kind of touchpad which has a single mouse button as part of the tracking plate, instead of external buttons. For example, the 2015 Dell XPS 13, HP series 4500 ProBooks, ThinkPad X220 and X1 ThinkPad series have this kind of a touchpad. By default, the whole button area is detected as a left button, so right and middle-click functions and click + drag will not work. It is possible to define two and three finger clicks as right and middle button clicks, and/or to define parts of the click pad surface as right and middle buttons. Note that although the driver registers multiple touches, it does not track individual fingers (as of version 1.7.1) which results in confusing behavior when using physical buttons of a clickpad for drag-and-drop and other gestures: you have to click with two or three fingers but then only move one of them while holding the button down with another. You can look into the xf86-input-mtrack AUR driver for better multitouch support.

Some desktop environments (KDE and GNOME at least) define sane and useful default configurations for clickpads, providing a right button at the bottom right of the pad, recognising two and three-finger clicks anywhere on the pad as right and middle clicks, and providing configuration options to define two and three-finger taps as right and middle clicks. If your desktop does not do this, or if you want more control, you can modify the touchpad section in /etc/X11/xorg.conf.d/70-synaptics.conf (or better, of your custom synaptics configuration file prefixed with a higher number). For example:

The format for the SoftButtonAreas option is (from synaptics(4) ):

The above SoftButtonAreas option is commonly found in documentation or synaptics packages, and it defines the right half of the bottom 18% of the touchpad as a right button. There is no middle button defined. If you want to define a middle button remember one key piece of information from the manual; edge set to 0 extends to infinity in that direction.

In the following example the right button will occupy the rightmost 40% of the button area and the middle button 20% of it in the center. The leftmost 40% remains as a left button (as does the rest of the clickpad):

You can use synclient to check the soft button areas:

If your buttons are not working, soft button areas are not changing, ensure you do not have a synaptics configuration file distributed by a package which is overriding your custom settings (i.e. some AUR packages distribute configurations prefixed with very high numbers).

These settings cannot be modified on the fly with synclient, however, xinput works:

You cannot use percentages with this command, so look at /var/log/Xorg.0.log to figure out the touchpad x and y-axis ranges.

Bottom edge correction

In some cases, for example Toshiba Satellite P50, everything work out of the box except often your click are seen as mouse movement and the cursor will jump away just before registering the click. This can be easily solved running

take the BottomEdge value and subtract a the wanted height of your button, then temporary apply with

when a good value has been found make it a fixed correction with

Troubleshooting

Touchpad does not work after resuming from hibernate/suspend

Occasionally touchpads will fail to work when the computer resumes from sleep or hibernation. This can often be corrected without rebooting by

  • Switching to a console and back again,
  • entering sleep mode again, and resuming again, or
  • locating the correct kernel module, then removing it and inserting it again.
  • blacklisting kernel module psmouse may be a permanent option (when the touchpad is handled by another module, e.g. i2c_designware_platform )
  • adding the psmouse.synaptics_intertouch=0 kernel parameter solves the issue permanently (Tested on T440s)

Now switch back to the tty that X is running on. If you chose the right module, your touchpad should be working again.

If you are using a laptop computer and your touchpad does not work after switching the laptop’s lid, you can just change your power management policy: when closing the lid, ‘shutdown the screen’ instead of ‘suspend'(or ‘hibernate’). This is useful for some laptops.

xorg.conf.d/70-synaptics.conf does not seem to apply in MATE

MATE will by default overwrite various options for your touchpad. This includes configurable features for which there is no graphical configuration within MATE’s system control panel. This may cause it to appear that /etc/X11/xorg.conf.d/70-synaptics.conf is not applied. Follow #MATE to prevent this behavior.

The touchpad is not working, Xorg.0.log shows «Query no Synaptics: 6003C8»

Due to the way Synaptics is currently set-up, 2 instances of the Synaptics module are loaded. We can recognize this situation by opening the xorg log file ( /var/log/Xorg.0.log ) and noticing this:

Notice how 2 differently named instances of the module are being loaded. In some cases, this causes the touchpad to become nonfunctional.

We can prevent this double loading by adding MatchDevicePath «/dev/input/event*» to our /etc/X11/xorg.conf.d/70-synaptics.conf file:

Restart X and check xorg logs again, the error should be gone and the touchpad should be functional.

related forum topics:

Touchpad detected as «PS/2 Generic Mouse» or «Logitech PS/2 mouse»

This can be caused by a number of issues;

Laptops with touchscreen & touchpad

There also seems to be a problem with laptops which have both a touchscreen & a touchpad, such as the Dell XPS 12 or Dell XPS 13. To fix this, you can blacklist the i2c_hid driver, this does have the side-effect of disabling the touchscreen though.

Post kernel 3.15, having the module blacklisted may cause touchpad to stop working completely. Removing the blacklist should allow this to start working with limited functionality, see FS#40921.

Non-functional Synaptics special abilities (multi-tap, scrolling, etc.)

In some cases, Synaptics touchpads only work partially. Features like two-finger scrolling or two-finger middle-click do not work even if properly enabled. This is probably related to the The touchpad is not working problem mentioned above. Fix is the same, prevent double module loading.

If preventing the module from loading twice does not solve your issue, try commenting out the toggle MatchIsTouchpad (which is now included by default in the Synaptics configuration).

If clicking with either 2 or 3 fingers is interpreted as a right-click, so you cannot get a middle click either way regardless of configuration, this bug is probably the culprit: https://bugs.freedesktop.org/show_bug.cgi?id=55365

Читайте также:  2 назовите основные дистрибутивы oc linux

No Multi-touch in some Elantech touchpads

Cursor jump

Some users have their cursor inexplicably jump around the screen. There currently no patch for this, but the developers are aware of the problem and are working on it.

Another posibility is that you are experiencing IRQ losses related to the i8042 controller (this device handles the keyboard and the touchpad of many laptops), so you have two possibilities here:

  1. rmmod && insmod the psmouse module.
  2. Append i8042.nomux=1 to your kernel parameters and reboot your machine.

Touchpad device is not located at /dev/input/*

If that is the case, you can use this command to display information about your input devices:

Search for an input device which has the name «SynPS/2 Synaptics TouchPad». The «Handlers» section of the output specifies what device you need to specify.

In this case, the Handlers are mouse0 and event1 , so /dev/input/mouse0 would be used.

This article or section needs expansion.

Firefox and special touchpad events

You can enable/disable some special events that Firefox handles upon tapping or scrolling certain parts of your touchpad by editing the settings of those actions. Type about:config in your Firefox address bar. To alter options, double-click on the line in question.

Firefox 17.0 and later

Horizontal scrolling will now by default scroll through pages and not through your history. To reenable Mac-style forward/backward with two-finger swiping, edit:

You may encounter accidental forwards/backwards while scrolling vertically. To change Firefox’s sensitivity to horizontal swipes, edit:

The optimum value will depend on your touchpad and how you use it, try starting with 10 . A negative value will reverse the swipe directions.

Opera: horizontal scrolling issues

Same as above. To fix it, go to Tools > Preferences > Advanced > Shortcuts. Select «Opera Standard» mouse setup and click «Edit». In «Application» section:

The factual accuracy of this article or section is disputed.

  • assign key «Button 6» to command «Scroll left»
  • assign key «Button 7» to command «Scroll right»

Scrolling and multiple actions with Synaptics on LG laptops

These problems seem to be occurring on several models of LG laptops. Symptoms include: when pressing Mouse Button 1, Synaptics interprets it as ScrollUP and a regular button 1 click; same goes for button 2.

The scrolling issue can be resolved by entering in xorg.conf :

Apparently, when trying to compile this against the latest version of Synaptics it fails. The solution to this is using the Git repository for Synaptics [5].

To build the package after downloading the tarball and unpacking it, execute:

Other external mouse issues

First, make sure your section describing the external mouse contains this line (or that the line looks like this):

If the «Device» line is different, change it to the above and try to restart X. If this does not solve your problem, make your touchpad the CorePointer in the «Server Layout» section:

and make your external device «SendCoreEvents» :

Finally, add this to your external device’s section:

If all of the above does not work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.

Touchpad synchronization issues

This article or section is out of date.

Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This behavior is accompanied by records in /var/log/messages.log :

This problem has no general solution, but there are several possible workarounds:

  • If you use CPU frequency scaling, avoid using the «ondemand» governor and use the «performance» governor when possible, as the touchpad may lose sync when the CPU frequency changes.
  • Avoid using an ACPI battery monitor.
  • Attempt to load psmouse with proto=imps option. To do that, add this line to your /etc/modprobe.d/modprobe.conf :
  • Try another desktop environment. Some users report that this problem only occurs when using XFCE or GNOME, for whatever reason.

Xorg.log.0 shows SynPS/2 Synaptics touchpad can not grab event device, errno=16

If you are using Xorg 7.4, you may get a warning like this from /var/log/Xorg.0.log . This is because the driver will grab the event device for exclusive use when using the Linux 2.6 event protocol. When it fails, X will return this error message.

Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X configuration file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space.

If you want to control it, add or modify the «GrabEventDevice» option in you touchpad section in /etc/X11/xorg.conf.d/70-synaptics.conf :

This will come into effect when X is restarted, though you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the Synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.

Synaptics loses multitouch detection after rebooting from Windows

Many drivers include a firmware that is loaded into flash memory when the computer boots. This firmware is not necessarily cleared upon shutdown, and is not always compatible with Linux drivers. The only way to clear the flash memory is to shutdown completely rather than using reboot. It is generally considered best practice to never use reboot when switching between operating systems.

Touchpad not recognized after shutdown from Arch

Certain touchpads (Elantech in particular) will fail to be recognized as a device of any sort after a standard shutdown from Arch Linux. There are multiple possible solutions to this problem:

  • Boot into a Windows partition/install disk and shutdown from there.
  • Wait approximately 1 minute before turning on the computer after shutdown.
  • As discussed in https://bugzilla.kernel.org/show_bug.cgi?id=81331#c186, a patch has been merged into the stable kernel that provides a fix for Elantech touchpads. Gigabyte P34, P35v2 and X3 models are supported by default. For others (especially rebranded Gigabyte laptops, like XMG’s), i8042.kbdreset=1 can be set as kernel parameter.

Trackpoint and Clickpad

Newer Thinkpads do not have physical buttons for their Trackpoint anymore and instead use the upper area of the Clickpad for buttons (Left, Middle, Right). Apart from the ergonomic viewpoint this works quite well with current Xorg. Unfortunately, mouse wheel emulation using the middle button is not supported yet. Install xf86-input-evdev-trackpoint AUR for a patched and properly configured version if you intend to use the Trackpoint.

Источник

Оцените статью