Giter Site home page Giter Site logo

xf86-input-mtrack's Issues

Natural scrolling option

Having a natural scrolling option like the Synaptics's driver would be awesome.

Can it be added to this driver?

Unwanted tap clicks still occur after setting "TapButton" settings to 0

I'm using Arch Linux on a 2012 MacBook Air with the xf86-input-mtrack-git package. Despite setting all TapButton settings to 0, I'm still getting extraneous tap-clicks when I leave one finger on the touchpad and touch a second finger to it. This issue can be reproduced in xinput test with one finger on the touchpad and touching a second finger to it repeatedly, causing several sequences of button press 1 immediately followed by button release 1 with several motion events between them.

I might have accidentally missed something in the config, but trying to tap with a single finger or two fingers at once causes no button presses.

Here is the output of xinput list-props:

Device 'bcm5974':
    Device Enabled (138):   1
    Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (271): 0
    Device Accel Constant Deceleration (272):   1.000000
    Device Accel Adaptive Deceleration (273):   1.000000
    Device Accel Velocity Scaling (274):    10.000000
    Trackpad Disable Input (275):   0
    Trackpad Sensitivity (276): 0.500000
    Trackpad Touch Pressure (277):  5, 5
    Trackpad Button Settings (278): 1, 1
    Trackpad Button Emulation Settings (279):   0, 1, 100
    Trackpad Button Emulation Values (280): 3, 2, 0
    Trackpad Tap Settings (281):    50, 120, 1
    Trackpad Tap Button Emulation (282):    0, 0, 0, 0
    Trackpad Thumb Detection (283): 0, 0
    Trackpad Thumb Size (284):  25, 70
    Trackpad Palm Detection (285):  0, 0
    Trackpad Palm Size (286):   40
    Trackpad Gesture Settings (287):    10, 100
    Trackpad Smooth Scroll (288):   1
    Trackpad Scroll Settings (289): 250, 20, 0
    Trackpad Scroll Buttons (290):  5, 4, 7, 6
    Trackpad Swipe Settings (291):  700, 300, 0
    Trackpad Swipe Buttons (292):   8, 9, 10, 11
    Trackpad Swipe4 Settings (293): 700, 300, 0
    Trackpad Swipe4 Buttons (294):  0, 0, 0, 0
    Trackpad Scroll Coasting (295): 0.100000, 200.000000
    Trackpad Scale Distance (296):  150
    Trackpad Scale Buttons (297):   12, 13
    Trackpad Rotate Distance (298): 150
    Trackpad Rotate Buttons (299):  14, 15
    Trackpad Hold1Move1 Stationary Settings (300):  1, 0
    Trackpad Hold1Move1 Settings (301): 1, 0, 1000
    Trackpad Hold1Move1 Buttons (302):  1, 1, 1, 1
    Trackpad Drag Settings (303):   0, 1, 100, 200
    Trackpad Axis Inversion (304):  0, 0
    Trackpad Edge Size (305):   10

And 10-mtrack.conf:

Section "InputClass"
    MatchIsTouchpad "on"
    Identifier      "Touchpads"
    Driver          "mtrack"
    Option          "Sensitivity" "0.50"
    Option          "TapButton1" "0"  
    Option          "TapButton2" "0"
    Option          "TapButton3" "0"
    Option          "TapButton4" "0"
    Option          "MaxTapMove" "0"
    Option          "ScrollUpButton" "5"
    Option          "ScrollDownButton" "4"
    Option          "ScrollLeftButton" "7"
    Option          "ScrollRightButton" "6"
    Option          "ScrollDistance" "250"
    Option          "TapDragEnable" "no"
    Option          "TapDragTime" "0"
    Option          "TapDragWait" "100"
    Option          "Hold1Move1StationaryButton" "0"
    Option          "Hold1Move1StationaryMaxMove" "1"
EndSection

ScrollSmooth does not work together with natural scrolling

I have configured natural scrolling by switching the binding for ScrollUpButton and ScrollDownButton.

e.g.

    Option "ScrollUpButton" "5" # 2 finger swipe up to scroll down
    Option "ScrollDownButton" "4" # 2 finger swipe down to scroll up

I find that when you have ScrollSmooth enabled this doesn't work and I assume it also interfears with the smooth scrolling causing a lot of jerkiness, since they are counterworking eachother. So I scroll down, the smooth scrolling starts and then it scrolls in the opposite direction from my actual scrolling.

Kinetic scrolling

It would be awesome if mtrack could do what synaptics/OS X do when scrolling - when the scroll gesture is fast and short, it keeps the view scrolling even after the fingers are lifted from the touchpad while putting the fingers back on the touchpad stops the scrolling.

Or is this already possible? I haven't figured out how to set that...

Btw. thanks for your new work on mtrack, good stuff!

Not working on X 1.18

I just updated to X 1.18 and at the moment I'm having to remove the mtrack driver in order for my touchpad to work.
I'm running arch on a macbook air.

Two finger scroll randomly selects texts and clicks

While scrolling with two fingers, the trackpad randomly clicks links and selects texts. It does now happen all the time, just ranomly.

I have tried to remove all tap features, since I do not need it.

Here is my config file:

`Section "InputClass"
MatchIsTouchpad "on"
Identifier "Touchpads"
Driver "mtrack"
Option "IgnoreThumb" "true"
Option "ThumbSize" "15"
Option "IgnorePalm" "true"
Option "ScrollDistance" "25"
Option "ClickFinger1" "1"
Option "ClickFinger2" "3"
Option "ClickFinger3" "0"
Option "EdgeSize" "17"
Option "TapDragEnable" "false"
Option "TapButton1" "0"
Option "TapButton2" "0"
Option "TapButton3" "0"
Option "Hold1Move1StationaryButton" "0"
Option "TapButton4" "0"
Option "ScrollCoastDuration" "400"
Option "ScrollLeftButton" "0"
Option "ScrollRightButton" "0"
Option "ButtonZonesEnable" "1"
EndSection

`

Circular scrolling

One of my favorite features of the xf86-input-synaptics driver is CircularScrolling, which is a feature similar to the chiral scrolling option in some of Synaptics' drivers for Windows.
In particular, there is an excellent patent-free implementation of it available as a patch over in this GitHub project. I would be thrilled if this feature were incorporated into the mtrack driver.

touchpad speed increases when external display is plugged

Hello,
thanks for this great touchpad drivers.
I'm using it on my Lenovo X1 Carbon 5th gen, running Debian Buster.

I noticed that when I plug an external display the cursor speed increases (almost doubles).
Is there anything I can do, besides of course running a shell script that calls xinput to adjust the sensitivity when the external display is plugged?

Thanks

Two finger scroll stops working after click

  1. Rest one finger on trackpad.
  2. Rest thumb at bottom of trackpad, which will be ignored.
  3. Click and release clickpad with thumb, and remove thumb from trackpad.
  4. Rest a second finger on trackpad. There are now two fingers on the trackpad.
  5. Move the two fingers to scroll. Scrolling does not occur. Instead, the pointer moves twice as fast.

This continues until both fingers are removed from the trackpad. I.e. you can remove a finger, then add a finger, and the issue remains.

Crashes kdeinit5

Hi there,

I'm on Arch and installed the https://aur.archlinux.org/packages/xf86-input-mtrack-git/ Pkg.

Linux psi-nb 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64 GNU/Linux
kwin 5.5.3
plasmashell 5.5.3

and SDDM.

After installing the AUR Package i can not login into Plasma anymore.

Xorg.0.log

[     8.287] (**) Option "Device" "/dev/input/mouse1"
[     8.287] (EE) mtrack: cannot configure device
[     8.287] (EE) Couldn't init device "SynPS/2 Synaptics TouchPad"
[     8.287] (II) UnloadModule: "mtrack"

I couldn't find anything helpful in journald log.

synaptics 3/4 finger gestures

First, thanks for the hard work in keeping this project up!

Would you consider adding handling of Synaptics' poor reporting of multitouch gestures?

As evidenced by evtest, Synaptics unfortunately reports third, and higher, tap as a sequence of BTN_TOUCH (or BTN_FINGER) followed by BTN_TOOL_TRIPLETAP (or BTN_TOOL_QUADTAP, etc...).

Event: time 1513311070.511217, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1513311070.511217, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1892
Event: time 1513311070.511217, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 3141
Event: time 1513311070.511217, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 3851
Event: time 1513311070.511217, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 1
Event: time 1513311070.511217, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1893
Event: time 1513311070.511217, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 4276
Event: time 1513311070.511217, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1984
Event: time 1513311070.511217, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 48
Event: time 1513311070.511217, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1513311070.511217, type 3 (EV_ABS), code 0 (ABS_X), value 3141
Event: time 1513311070.511217, type 3 (EV_ABS), code 1 (ABS_Y), value 3851
Event: time 1513311070.511217, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 56
Event: time 1513311070.511217, type 1 (EV_KEY), code 334 (BTN_TOOL_TRIPLETAP), value 1

libinput does handle it correctly (relevant code in libinput/src/evdev-mt-touchpad.c around tp_fake_finger...) but lacks mtrack's other features, notably superb kinetic scrolling.

Thanks for the consideration!

Compatible only with Xorg server versions 1.7 to 1.12?

Device ETPS/2 Elantech Touchpad':
        Device Enabled (138):   1
        Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (274): 1
        libinput Tapping Enabled Default (275): 0
        libinput Tapping Drag Enabled (276):    1
        libinput Tapping Drag Enabled Default (277):    1
        libinput Tapping Drag Lock Enabled (278):       0
        libinput Tapping Drag Lock Enabled Default (279):       0
        libinput Tapping Button Mapping Enabled (280):  1, 0
        libinput Tapping Button Mapping Default (281):  1, 0
        libinput Accel Speed (282):     0.000000
        libinput Accel Speed Default (283):     0.000000
        libinput Natural Scrolling Enabled (284):       0
        libinput Natural Scrolling Enabled Default (285):       0
        libinput Send Events Modes Available (259):     1, 1
        libinput Send Events Mode Enabled (260):        0, 0
        libinput Send Events Mode Enabled Default (261):        0, 0
        libinput Left Handed Enabled (286):     0
        libinput Left Handed Enabled Default (287):     0
        libinput Scroll Methods Available (288):        1, 1, 0
        libinput Scroll Method Enabled (289):   1, 0, 0
        libinput Scroll Method Enabled Default (290):   1, 0, 0
        libinput Disable While Typing Enabled (291):    1
        libinput Disable While Typing Enabled Default (292):    1
        Device Node (262):      "/dev/input/event8"
        Device Product ID (263):        2, 14
        libinput Drag Lock Buttons (293):       <no items>
        libinput Horizontal Scroll Enabled (294):       1

Does this mean it's incompatible with the current 1.19.1-1 Xorg server? Or is that text from the BlueDragonX:master? I added it from the AUR but it doesn't seem to be working.

Here's my 10-mtrack.conf:

Section "InputClass"
        MatchIsTouchpad "on"
        Identifier      "Touchpads"
        Driver          "mtrack"
        Option          "Sensitivity" "0.60"
        Option          "FingerHigh" "5"
        Option          "FingerLow" "1"
        Option          "IgnoreThumb" "true"
        Option          "ThumbRatio" "70"
        Option          "ThumbSize" "25"
        Option          "IgnorePalm" "true"
        Option          "TapButton1" "0"
        Option          "TapButton2" "0"
        Option          "TapButton3" "0"
        Option          "TapButton4" "0"
        Option          "ClickFinger1" "3"
        Option          "ClickFinger2" "3"
        Option          "ClickFinger3" "3"
        Option          "ButtonMoveEmulate" "false"
        Option          "ButtonIntegrated" "true"
        Option          "ClickTime" "25"
        Option          "BottomEdge" "30"
        Option          "SwipeLeftButton" "8"
        Option          "SwipeRightButton" "9"
        Option          "SwipeUpButton" "0"
        Option          "SwipeDownButton" "0"
        Option          "SwipeDistance" "700"
        Option          "ScrollCoastDuration" "500"
        Option          "ScrollCoastEnableSpeed" ".3"
        Option          "ScrollUpButton" "5"
        Option          "ScrollDownButton" "4"
        Option          "ScrollLeftButton" "7"
        Option          "ScrollRightButton" "6"
        Option          "ScrollDistance" "350"
        Option 			"SwipeDistance" "1"
    	Option 			"SwipeLeftButton" "1"
    	Option 			"SwipeRightButton" "1"
    	Option 			"SwipeUpButton" "1"
    	Option 			"SwipeDownButton" "1"
    	Option 			"SwipeClickTime" "0"
   		Option 			"SwipeSensitivity" "1000"
EndSection

Who can tell me the meaning and usage of these options

Forgive my poor English and related knowledge, please...

  • What's the differences between ClickFinger and TapButton?
  • What's the exact meaning of the various button numbers? ( I know button 1 is a normal click, button 2 is a middle click when button 3 is a right click, BUT, what in the world are button 4 to 15 standing for? )

Any answer can be useful for me, thanks!

Config request: Add option to only set BottomEdge size

Right now there is only an option to set the edge for the whole trackpad, since I like to rest my thumb on the trackpad, or hold a finger on the button area, I need to set the Edge-option.

I have the Edge-option at 15%, this causes me to miss my scroll area on the trackpad from time to time. I Would like to set my Edge property to 15-20% for the bottom edge, and 0 for the other sides.

No left click on master

I just upgraded from v0.4.1 to master, upon which my single finger click changed to a right mouse click, and the two finger click seems to have changed to middle mouse.
This leaves me without a left mouse click option.

Hardware used is a Macbook Pro Retina 2015.

Below is my unchanged Xorg config for the mtrack module:

Section "InputClass"
  MatchIsTouchpad "on"
  Identifier "Touchpads"
  Driver "mtrack"

  # Adjusts the sensitivity (movement speed) of the touchpad. This is a real
  # number greater than or equal to zero. Default is 1. A value of 0 will
  # disable pointer movement.
  Option "Sensitivity" "0.55"

  # Defines the pressure at which a finger is detected as a touch. This is a
  # percentage represented as an integer. Default is 5.
  Option "FingerHigh" "5"

  # Defines the pressure at which a finger is detected as a release. This is a
  # percentage represented as an integer. Default is 5.
  Option "FingerLow" "2"

  # Whether or not to ignore touches that are determined to be thumbs. Boolean
  # value. Defaults to false.
  Option "IgnoreThumb" "false"

  # Whether or not to ignore touches that are determined to be palms. Boolean
  # value. Defaults to false.
  Option "IgnorePalm" "false"

  # Whether or not to disable the entire trackpad when a palm is touching.
  # Boolean value. Defaults to false.
  Option "DisableOnPalm" "true"

  # The size of an area at the bottom of the trackpad where new touches are
  # ignored (fingers traveling into this area from above will still be
  # tracked). This is represented as a percentage of the total trackpad height.
  # Defaults to 10.
  Option "BottomEdge" "25"

  # Whether or not the physical buttons are integrated with the trackpad. If
  # you have a one-piece trackpad like on newer MacBooks, this should be set to
  # true. Button emulation depends on this value being correct. Boolean value.
  # Defaults to true.
  Option "ButtonIntegrated" "true"

  # Whether or not to count the moving finger when emulating button clicks.
  # Useful to disable if you use two hands on trackpad. Boolean value. Defaults
  # to true.
  Option "ButtonMoveEmulate" "true"

  # Which button to emulate for one-finger tapping. Integer value. A value of 0
  # disables one-finger tapping. Defaults to 1.
  Option "TapButton1" "0"

  # Which button to emulate for two-finger tapping. Integer value. A value of 0
  # disables two-finger tapping. Defaults to 3.
  Option "TapButton2" "0"

  # Which button to emulate for three-finger tapping. Integer value. A value of
  # 0 disables three-finger tapping. Defaults to 2.
  Option "TapButton3" "0"

  # Which button to emulate for four-finger tapping. Integer value. A value of
  # 0 disables three-finger tapping. Defaults to 0.
  Option "TapButton4" "0"

  # When tapping, how much time to hold down the emulated button. Integer value
  # representing milliseconds. Defaults to 50.
  Option "ClickTime" "25"

  # For two finger scrolling. How far you must move your fingers before a
  # button click is triggered. Integer value. Defaults to 150.
  Option "ScrollDistance" "75"

  # For two finger scrolling. The button that is triggered by scrolling up.
  # Integer value. A value of 0 disables scrolling up. Defaults to 4.
  Option "ScrollUpButton" "5"

  # For two finger scrolling. The button that is triggered by scrolling down.
  # Integer value. A value of 0 disables scrolling down. Defaults to 5.
  Option "ScrollDownButton" "4"

  # For two finger scrolling. The button that is triggered by scrolling left.
  # Integer value. A value of 0 disables scrolling left. Defaults to 6.
  Option "ScrollLeftButton" "7"

  # For two finger scrolling. The button that is triggered by scrolling right. Integer value.
  # A value of 0 disables scrolling right. Defaults to 7.
  Option "ScrollRightButton" "6"

  # For three finger swiping. How far you must move your fingers before a
  # button click is triggered. Integer value. Defaults to 700.
  Option "SwipeDistance" "700"

  # For three finger swiping. The button that is triggered by swiping up.
  # Integer value. A value of 0 disables swiping up. Defaults to 8.
  Option "SwipeUpButton" "0"

  # For three finger swiping. The button that is triggered by swiping down.
  # Integer value. A value of 0 disables swiping down. Defaults to 9.
  Option "SwipeDownButton" "0"

  # For three finger swiping. The button that is triggered by swiping left. 
  # Integer value. A value of 0 disables swiping left. Defaults to 10.
  Option "SwipeLeftButton" "9"

  # For three finger swiping. The button that is triggered by swiping right.
  # Integer value. A value of 0 disables swiping right. Defaults to 11.
  Option "SwipeRightButton" "8"

  # Whether or not to enable tap-to-drag functionality. Boolean value. Defaults to true.
  Option "TapDragEnable" "false"

EndSection

Not working

Well, i have to say, i'm quite a beginner, so beware.

tl;dr touchpad not recognized, no logs available(!?)

i cloned this git to my arch machine and did
./configure
sudo make && make install
which gave me no errors. Two files are output to /usr/local/lib/xorg/modules/input
(i also tried copying those to another directory to make X find them. yet, nothing)
Then i configured the already existing 90-libinput.conf in /usr/share/X11/xorg.conf.d according to the Readme of this git (Identifier Touchpads, driver mtrack, matchistouchpad on)

after logoff or restart, the cursor wont move. i tried to look for errors in the log, but there's no log in /var/log and journalctl _COMM=Xorg doesn't give anything either. Also $xinput list does not list the device at all. Oh Xorg -version is 1.18.

Am I doin something not quite right?

Thumb detection

First of all: Thank you for forking mtrack. You have fixed so many issues for me!

Maybe I'm just using wrong settings but whenever I touch the bottom edge of the trackpad with my thumb after my index finger is on the pad, the motion is stopped for a short time. Is there any way to completely ignore the bottom edge?

Below my configuration (most of it is default).

Section "InputClass"
  Identifier "Touchpads"
  Driver "mtrack"
  MatchIsTouchpad "on"
  MatchDevicePath "/dev/input/event*"
  Option "Sensitivity" "0.38"
  Option "TapButton1" "1"
  Option "TapButton2" "3"
  Option "TapButton3" "2"
  Option "TapButton4" "0"
  Option "ClickFinger1" "1"
  Option "ClickFinger2" "3"
  Option "ButtonMoveEmulate" "false"
  Option "ButtonIntegrated" "true"
  Option "ButtonEnabled" "true"
  Option "ClickTime" "25"
  Option "BottomEdge" "50"
  Option "FingerHigh" "3"
  Option "FingerLow" "1"
  Option "IgnoreThumb" "true"
  Option "IgnorePalm" "true"
  Option "TapDragEnable" "false"
  Option "TapDragWait" "100"
  Option "ScrollUpButton" "4"
  Option "ScrollDownButton" "5"
  Option "ScrollDistance" "1"
  Option "SwipeDistance" "75"
  Option "SwipeLeftButton" "1"
  Option "SwipeRightButton" "1"
  Option "SwipeUpButton" "1"
  Option "SwipeDownButton" "1"
  Option "SwipeClickTime" "0"
  Option "SwipeSensitivity" "1000"
  Option "ThumbSize" "20"
EndSection

Tap drag triggers double click

Hi!
I'm very happy with mtrack so far. However, tap drag does not seem to work correctly for me. When I tap once, then touch again and move my finger, apart from dragging, it also triggers a double click. So whenever I want to move a folder in my file explorer, it gets opened because of the double click.
Is there something wrong with my configuration? Any help is appreciated.

Device 'Synaptics TM3242-001':
Device Enabled (141): 1
Coordinate Transformation Matrix (143): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (275): 0
Device Accel Constant Deceleration (276): 1.000000
Device Accel Adaptive Deceleration (277): 1.000000
Device Accel Velocity Scaling (278): 10.000000
Trackpad Disable Input (279): 0
Trackpad Sensitivity (280): 0.650000
Trackpad Touch Pressure (281): 5, 5
Trackpad Button Settings (282): 1, 1
Trackpad Button Emulation Settings (283): 1, 1, 100
Trackpad Button Emulation Values (284): 1, 3, 0
Trackpad Tap Settings (285): 50, 120, 400
Trackpad Tap Button Emulation (286): 1, 3, 2, 0
Trackpad Thumb Detection (287): 0, 0
Trackpad Thumb Size (288): 25, 70
Trackpad Palm Detection (289): 1, 0
Trackpad Palm Size (290): 40
Trackpad Gesture Settings (291): 10, 100
Trackpad Smooth Scroll (292): 1
Trackpad Scroll Settings (293): 20, 40, 0
Trackpad Scroll Buttons (294): 4, 5, 6, 7
Trackpad Swipe Settings (295): 700, 300, 0
Trackpad Swipe Buttons (296): 8, 9, 10, 11
Trackpad Swipe4 Settings (297): 700, 300, 0
Trackpad Swipe4 Buttons (298): 0, 0, 0, 0
Trackpad Scroll Coasting (299): 0.100000, 500.000000
Trackpad Edge Scroll Settings (300): 105, 20, 0, 4, 5, 6, 7
Trackpad Edge Sizes (301): 0, 10, 0, 0
Trackpad Scale Distance (302): 150
Trackpad Scale Buttons (303): 12, 13
Trackpad Rotate Distance (304): 150
Trackpad Rotate Buttons (305): 14, 15
Trackpad Hold1Move1 Stationary Settings (306): 20, 1
Trackpad Hold1Move1 Settings (307): 1, 0, 1000
Trackpad Hold1Move1 Buttons (308): 1, 1, 1, 1
Trackpad Drag Settings (309): 1, 350, 40, 200
Trackpad Axis Inversion (310): 0, 0

Section "InputClass"
MatchIsTouchpad "on"
Identifier "Touchpads"
Driver "mtrack"
Option "Sensitivity" "0.65"
Option "ClickFinger1" "1"
Option "ClickFinger2" "3"
Option "ClickFinger3" "0"
Option "ButtonZonesEnable" "true"
Option "ScrollDistance" "20"
Option "ScrollCoastDuration" "500"
Option "ScrollClickTime" "40"
Option "IgnorePalm" "true"
Option "TapDragEnable" "true
EndSection

scrolling horizontallly while scrolling vertically (and vice-verse)

As the title says - and same as rynbrd/xf86-input-mtrack#108

Only seems to be a problem when swapping the button numbers for scrolling to achieve natural scrolling. - Scrolling works as expected with the following:

    Option          "ScrollUpButton" "4"
    Option          "ScrollDownButton" "5"
    Option          "ScrollLeftButton" "6"
    Option          "ScrollRightButton" "7"

I originally commented there, but discovered that I was running this fork. Interestingly, I don't get the issue with BlueDragonX's git version, only with this version.

how to debug this?

Thanks for working on this. It appears to be the only likely option right now (in 2018) to support 3-finger drag in linux. :-(

I tried to play with v0.5 for a couple of hours but I couldn't get it to work with the master branch at all. The "swipe_to_drag" branch is slightly better as it worked about once or twice. Is there a way to debug what's going on?

Thanks!

Missing function definitions in capabilities.h, include in mtrack-test.c

Apologies if I'm not doing GitHub right (newbie), but I wanted to mention that, in attempting to build the code, I was stopped by implicit declaration warnings because capabilities.h is missing definitions for get_cap_xmin() and get_cap_ymin(). This problem was introduced in commit 6f03cc5.

I also had to include unistd.h in mtrack-test.c in order for main() to be able to make use of close(). Having corrected these two points, the code built for me.

Not sure how others have been building the code without hitting these issues, so I feel like I did something wrong, but I merely ran "./configure" and "make" per usual. Anyway, thanks for continuing to maintain this project; I desperately need it to make this MacBook usable in Ubuntu.

Vertical movement with low sensitivity is ignored

  1. Set the sensitivity to a low value (e.g. 0.2).
  2. Very slowly move a finger from the top-left of the trackpad to the bottom-right. Vary the speed to see the issue. At a low enough speed, the cursor will only move horizontally.

Alternatively:

  1. Very slowly move a finger straight down. The cursor will not move at all unless you reach a certain speed. It is not possible to do this horizontally.

In both cases, the cursor appears to almost jump down in 10-20 pixel "steps" when moving slow enough. This makes it very difficult to make small movements.

$ xinput --list-props 11
Device 'bcm5974':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (272): 0
    Device Accel Constant Deceleration (273):   1.000000
    Device Accel Adaptive Deceleration (274):   1.000000
    Device Accel Velocity Scaling (275):    10.000000
    Trackpad Disable Input (276):   0
    Trackpad Sensitivity (277): 0.200000
    Trackpad Touch Pressure (278):  10, 10
    Trackpad Button Settings (279): 1, 1
    Trackpad Button Emulation Settings (280):   0, 1, 100
    Trackpad Button Emulation Values (281): 3, 2, 0
    Trackpad Tap Settings (282):    50, 120, 400
    Trackpad Tap Button Emulation (283):    0, 0, 0, 0
    Trackpad Thumb Detection (284): 0, 0
    Trackpad Thumb Size (285):  25, 70
    Trackpad Palm Detection (286):  1, 1
    Trackpad Palm Size (287):   40
    Trackpad Gesture Settings (288):    10, 100
    Trackpad Smooth Scroll (289):   1
    Trackpad Scroll Settings (290): 250, 20, 0
    Trackpad Scroll Buttons (291):  5, 4, 7, 6
    Trackpad Swipe Settings (292):  700, 300, 0
    Trackpad Swipe Buttons (293):   0, 0, 8, 9
    Trackpad Swipe4 Settings (294): 700, 300, 0
    Trackpad Swipe4 Buttons (295):  0, 0, 0, 0
    Trackpad Scroll Coasting (296): 0.100000, 200.000000
    Trackpad Scale Distance (297):  150
    Trackpad Scale Buttons (298):   12, 13
    Trackpad Rotate Distance (299): 150
    Trackpad Rotate Buttons (300):  14, 15
    Trackpad Hold1Move1 Stationary Settings (301):  20, 1
    Trackpad Hold1Move1 Settings (302): 1, 0, 1000
    Trackpad Hold1Move1 Buttons (303):  1, 1, 1, 1
    Trackpad Drag Settings (304):   1, 350, 40, 200
    Trackpad Axis Inversion (305):  0, 0
    Trackpad Edge Size (306):   10

Segfault after resuming from suspend on 0.4.1

After upgrading to 0.4.1, I encounter the following issue;
If I suspend my machine and wake it again xorg will segfault on the first keypress (not button press on trackpad)

[    35.114] (EE) Backtrace:
[    35.114] (EE) 0: /usr/bin/X (xorg_backtrace+0x4a) [0x591c2a]
[    35.114] (EE) 1: /usr/bin/X (0x400000+0x195949) [0x595949]
[    35.114] (EE) 2: /lib64/libpthread.so.0 (0x7fceb1ada000+0x10f40) [0x7fceb1aeaf40]
[    35.114] (EE) 3: /usr/bin/X (TimerSet+0xcb) [0x58f30b]
[    35.114] (EE) 4: /usr/bin/X (AccessXFilterPressEvent+0x242) [0x545622]
[    35.114] (EE) 5: /usr/bin/X (0x400000+0x174979) [0x574979]
[    35.115] (EE) 6: /usr/bin/X (mieqProcessInputEvents+0x99) [0x574ac9]
[    35.115] (EE) 7: /usr/bin/X (ProcessInputEvents+0x19) [0x477289]
[    35.115] (EE) 8: /usr/bin/X (0x400000+0x35886) [0x435886]
[    35.115] (EE) 9: /usr/bin/X (0x400000+0x39b08) [0x439b08]
[    35.115] (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x7fceb17641e1]
[    35.115] (EE) 11: /usr/bin/X (_start+0x2a) [0x42377a]
[    35.115] (EE) 
[    35.115] (EE) Segmentation fault at address 0x8
[    35.115] (EE) 
Fatal server error:
[    35.115] (EE) Caught signal 11 (Segmentation fault). Server aborting
[    35.115] (EE) 

The interesting part is, that if i leave the system idle for about 10 minutes before closing the lid, it will wake without segfaulting on the first key press.

Downgrading to 0.3.1 will successfully mitigate the issue.

I've uploaded the full logs of a crashing session as gist: https://gist.github.com/m4rcu5/1c4f753e799a4f9fa3b55ecb8b55c42a

Any idea what could be going on here?

Unable to unhide dock/panel

I'm trying mtrack driver for my touchpad and seams to work well, but I've noticed that I can't unhide dock/panel while I'm using it.
If I switch to libinput driver I can unhide dock normally.

crashes xorg in ubuntu 17.04

i've compiled module for ubuntu 17.04
and tried to use it on my dell laptop with apple trackpad

it works, but crashes x server definitely in few minutes after start
backtrace are different each time, so it seems to be memory corruption

Clickpad clicks always register as left-click and three finger swipe registers as two finger

Clickpad clicks are always registering as left-clicks, and three finger swipes are registering as two finger scrolls.

Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (138):	1
	Coordinate Transformation Matrix (140):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (268):	0
	Device Accel Constant Deceleration (269):	1.000000
	Device Accel Adaptive Deceleration (270):	1.000000
	Device Accel Velocity Scaling (271):	10.000000
	Trackpad Disable Input (300):	0
	Trackpad Sensitivity (301):	0.500000
	Trackpad Touch Pressure (302):	5, 5
	Trackpad Button Settings (303):	1, 1
	Trackpad Button Emulation Settings (304):	0, 1, 100
	Trackpad Button Emulation Values (305):	1, 3, 2
	Trackpad Tap Settings (306):	50, 120, 400
	Trackpad Tap Button Emulation (307):	1, 3, 0, 0
	Trackpad Thumb Detection (308):	0, 0
	Trackpad Thumb Size (309):	25, 70
	Trackpad Palm Detection (310):	1, 0
	Trackpad Palm Size (311):	40
	Trackpad Gesture Settings (312):	10, 100
	Trackpad Smooth Scroll (313):	1
	Trackpad Scroll Settings (314):	150, 20, 0
	Trackpad Scroll Buttons (315):	5, 4, 7, 6
	Trackpad Swipe Settings (316):	700, 300, 0
	Trackpad Swipe Buttons (317):	8, 9, 10, 11
	Trackpad Swipe4 Settings (318):	700, 300, 0
	Trackpad Swipe4 Buttons (319):	0, 0, 0, 0
	Trackpad Scroll Coasting (320):	0.100000, 200.000000
	Trackpad Scale Distance (321):	150
	Trackpad Scale Buttons (322):	12, 13
	Trackpad Rotate Distance (323):	150
	Trackpad Rotate Buttons (324):	14, 15
	Trackpad Hold1Move1 Stationary Settings (325):	20, 1
	Trackpad Hold1Move1 Settings (326):	1, 0, 1000
	Trackpad Hold1Move1 Buttons (327):	1, 1, 1, 1
	Trackpad Drag Settings (328):	1, 350, 40, 200
	Trackpad Axis Inversion (329):	0, 0
	Trackpad Edge Size (330):	10
Section "InputClass"
    MatchIsTouchpad "on"
    Identifier "Touchpads"
    Driver "mtrack"
    Option "Sensitivity" "0.5"
    Option "IgnorePalm" "on"
    Option "ButtonIntegrated" "on"
    Option "ClickFinger1" "1"
    Option "ClickFinger2" "3"
    Option "ClickFinger3" "2"
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    Option "ScrollUpButton" "5"
    Option "ScrollDownButton" "4"
    Option "ScrollLeftButton" "7"
    Option "ScrollRightButton" "6"
    Option "ButtonTouchExpire" "0"
    Option "ScrollSmooth" "on"
    Option "SwipeDistance" "150"

EndSection

how can i get it work on mint 18.2

i have add the fellowing to /etc/X11/xorg.conf and my touchpad stop to work
Section "InputClass"
MatchIsTouchpad "on"
Identifier "Touchpads"
Driver "mtrack"
EndSection

i try to copy the examples macbook.conf to /etc/X11/xorg.conf and it still can not work
what can i do ?
thanks

bcm5974/mac 4 finger swipe

Don't know if this is a hardware limitation or complete config fail but I can seem to register 4 finger anything.

I've set TapButton4 to a range of button numbers, same for the Swipe4XButton options but easystroke won't detect anything at all when trying to record the gestures (3 fingers records fine)

Any idea where I might be going wrong? I want to 4 finger swipe left/right to trigger key commands left/right

I'm using the prebuilt v0.4.1 deb on unbuntu gnome

Button Zones do not work when thumb is resting on trackpad

I have Button Zones configured as follows (full config here)

    Option "ClickFinger1" "1"
    Option "ClickFinger2" "1"
    Option "ClickFinger3" "3"

The thirds work as expected when clicking with one finger (right third does right click)

When resting a finger on the left third of the trackpad vertically higher than the finger on the right third of the trackpad, clicking performs a right click as expected

However when resting a finger on the left third of the trackpad vertically lower than the finger on the right third of the trackpad, clicking performs a left click.

Thanks,
Evan

EDIT: Attaching xinput-props-bcm5974.txt

EDIT 2: better understanding of when clicking makes a right vs left click

Odd input issue

I'm part of the input group, but for some reason, whenever I try to use the mtrack driver, I get an error saying "xf86openserial: cannot open device [...] permission denied".
I don't think this is a problem with the mtrack driver though, because when I change permissions chmod g+w /dev/input/event*, it starts working again. libinput has no such problem btw.
The default permissions on /dev/input/event* are crw-r----- with root:input owner/group, does that sound about right?
However, it only works if I change it to crw-rw----.
Any advice?

Support touchegg

Does the driver supports touchegg? If so, could you show some configuration which can give possibility to send appropriate messages to it?

High power consumption

A few months back I moved from a 2013 MBA to a 2015 MBP. On the latter, the [force] touchpad is consuming about 10W, permanently. I'm wondering if this is something you've seen, or you have any idea if it might be related to the driver or something else.

Have you had a chance to test this specific hardware? Do you know of any way to determine if this very high power usage is normal, or driver-related?

As a reference, everything aside from the touchpad uses 4W (but the touchpad alone uses 10W). On the MBA, the touchpad used an insignificant amount of power, and the computer's total power usage was about 5W.
I measure power consumption without the driver installed. That results in 5W-7W consumption, which is (even on it's worst case), 30% less.

Let me know if I can provide anything that may help triage this, totally willing to help!

Tapping enabled when multiple fingers are on touchpad

When 2 or more fingers are on the touchpad tapping gets enabled. It's reproducible by holding one finger on the touchpad and tapping with another finger.

Device 'Apple Inc. Apple Internal Keyboard / Trackpad':
	Device Enabled (139):	1
	Coordinate Transformation Matrix (141):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Send Events Modes Available (261):	1, 0
	libinput Send Events Mode Enabled (262):	0, 0
	libinput Send Events Mode Enabled Default (263):	0, 0
	Device Node (264):	"/dev/input/event12"
	Device Product ID (265):	1452, 627
Section "InputClass"
        MatchIsTouchpad "on"
        Identifier      "Touchpads"
        Driver          "mtrack"
        Option          "Sensitivity" "0.65"
        Option          "FingerHigh" "5"
        Option          "FingerLow" "1"
        Option          "IgnoreThumb" "true"
        Option          "ThumbRatio" "70"
        Option          "ThumbSize" "25"
        Option          "IgnorePalm" "true"
        Option          "TapButton1" "0"
        Option          "TapButton2" "0"
        Option          "TapButton3" "0"
        Option          "TapButton4" "0"
        Option          "ClickFinger1" "3"
        Option          "ClickFinger2" "3"
        Option          "ClickFinger3" "3"
        Option          "ButtonMoveEmulate" "false"
        Option          "ButtonIntegrated" "true"
        Option          "ClickTime" "25"
        Option          "BottomEdge" "30"
        Option          "ScrollCoastDuration" "500"
        Option          "ScrollCoastEnableSpeed" ".3"
        Option          "ScrollUpButton" "5"
        Option          "ScrollDownButton" "4"
        Option          "ScrollLeftButton" "6"
        Option          "ScrollRightButton" "7"
        Option          "ScrollDistance" "250"
	Option          "TapDragEnable" "false"
	Option		"TapDragWait" "40000"
EndSection

Feature request: wait time after click to allow for movement again.

I have a MacBook Pro. Driver works great so far (thanks for your work!).

When I click the touchpad (physically clicking the touchpad as a whole), it is often accompanied with the cursor jumping a little around. After a couple of minutes testing around when it happens, I guess that this would be fixed by two new wait time options:

  • The time cursor movement is disabled after a click-down.
  • The time a tap should exist (so the time the finger should be on the touchpad) before that tap is allowed to start moving the cursor. This should be typically a very short time (I'm guessing only a couple of milliseconds).

However, I'm not sure if those wait times would be needed if the driver support speed like in OS X. There, increasing the speed of a finger causes a super-linear speedup of the cursor. So basically: moving the finger slowly allows for more precision.

(I just switched to Linux, because of some problems I had. I already tweaked this driver (the original BlueDragonX repo) before, but I'm slammed with work for school right now. If find some time, I could do it as well, but before I start, I wanted to contact you. Especially: what do you suggest to do? Will you do it? If not, but are willing to accept a Pull Request, any guidelines you want me to follow?)

Cannot configure device

I can't seem to get mtrack driver loaded, using a HP Laptop Synaptics TouchPad that support 4 finger click + 3 finger swipe in windows

[binary@hermes ~]$ sudo cat /var/log/Xorg.0.log | grep "(EE)"
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
3.981 BUG: triggered 'if (dev == ((void *)0))'
3.981 BUG: exevents.c:2131 in SetScrollValuator()
3.981
3.981 Backtrace:
3.982 0: /usr/lib/xorg-server/Xorg (SetScrollValuator+0x1c4) [0x526834]
3.983 1: /usr/lib/xorg/modules/input/mtrack_drv.so (_init+0x7d97) [0x7f8746258db7]
3.983 2: /usr/lib/xorg/modules/input/mtrack_drv.so (_init+0x66da) [0x7f874625600a]
3.983 3: /usr/lib/xorg-server/Xorg (xf86DeleteInput+0x1e2) [0x486672]
3.984 4: /usr/lib/xorg-server/Xorg (config_fini+0x102b) [0x4993fb]
3.984 5: /usr/lib/xorg-server/Xorg (config_fini+0x1613) [0x49a683]
3.985 6: /usr/lib/xorg-server/Xorg (config_init+0x9) [0x497af9]
3.985 7: /usr/lib/xorg-server/Xorg (InitInput+0xbf) [0x47adbf]
3.985 8: /usr/lib/xorg-server/Xorg (remove_fs_handlers+0x421) [0x43a611]
3.988 9: /usr/lib/libc.so.6 (__libc_start_main+0xf1) [0x7f874f597741]
3.989 10: /usr/lib/xorg-server/Xorg (_start+0x29) [0x4245f9]
3.990 11: ? (?+0x29) [0x29]
3.990
3.990 BUG: triggered 'if (dev == ((void *)0))'
3.990 BUG: exevents.c:2131 in SetScrollValuator()
3.990
3.990 Backtrace:
3.990 0: /usr/lib/xorg-server/Xorg (SetScrollValuator+0x1c4) [0x526834]
3.991 1: /usr/lib/xorg/modules/input/mtrack_drv.so (_init+0x66da) [0x7f874625600a]
3.991 2: /usr/lib/xorg-server/Xorg (xf86DeleteInput+0x1e2) [0x486672]
3.991 3: /usr/lib/xorg-server/Xorg (config_fini+0x102b) [0x4993fb]
3.992 4: /usr/lib/xorg-server/Xorg (config_fini+0x1613) [0x49a683]
3.992 5: /usr/lib/xorg-server/Xorg (config_init+0x9) [0x497af9]
3.992 6: /usr/lib/xorg-server/Xorg (InitInput+0xbf) [0x47adbf]
3.993 7: /usr/lib/xorg-server/Xorg (remove_fs_handlers+0x421) [0x43a611]
3.994 8: /usr/lib/libc.so.6 (__libc_start_main+0xf1) [0x7f874f597741]
3.994 9: /usr/lib/xorg-server/Xorg (_start+0x29) [0x4245f9]
3.995 10: ? (?+0x29) [0x29]
3.995
3.996 mtrack: cannot configure device
3.996 Couldn't init device "SynPS/2 Synaptics TouchPad"
591.881 kernel bug: Touch jump detected and discarded.
591.901 kernel bug: Touch jump detected and discarded.
12273.977 kernel bug: Touch jump detected and discarded.
12277.168 kernel bug: Touch jump detected and discarded.
12277.168 kernel bug: Touch jump detected and discarded.
12277.580 kernel bug: Touch jump detected and discarded.
12277.580 kernel bug: Touch jump detected and discarded.

Scroll with 2 fingers regardless of current motion

When I move my finger around on the trackpad (move pointer), and then at some point, put down my second finger for scrolling, it doesn't scroll, it just continues moving the pointer.

The use case is when my 2nd finger was too close to (or on) the edge to be recognized, but once my 2nd finger enters the trackpad, I would expect it to start scrolling rather than continue just moving the pointer.

This does actually already appear to happen, but there's a huge delay, more than GestureWaitTime, and it's not configurable as far as I can tell.

Moving cursor + thumb-click triggers 2-finger click

I have a Surface Book and just configured mtrack and noticed this gesture does not work as well as someone might be used to on a OS X device.

When I move the cursor with a finger and thumb-click (holding the click down, such as when highlighting text) the right-click menu shows up just as if I had done a 2-finger click on the trackpad. This is unfortunate because it means I need to lift my finger completely off the trackpad before thumb-clicking whenever I want to highlight text.

It would be a nice improvement if fingers that are in the bottom edge area were not considered part of the 2-finger click, so the finger moving the mouse does not have to come off the trackpad when clicking.

Here's my xinput --list-props

Device 'Microsoft Surface Keyboard Touchpad':
    Device Enabled (137):   1
    Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (267): 0
    Device Accel Constant Deceleration (268):   1.000000
    Device Accel Adaptive Deceleration (269):   1.000000
    Device Accel Velocity Scaling (270):    10.000000
    Trackpad Disable Input (299):   0
    Trackpad Sensitivity (300): 0.650000
    Trackpad Touch Pressure (301):  12, 1
    Trackpad Button Settings (302): 1, 1
    Trackpad Button Emulation Settings (303):   0, 1, 100
    Trackpad Button Emulation Values (304): 3, 2, 0
    Trackpad Tap Settings (305):    50, 120, 400
    Trackpad Tap Button Emulation (306):    0, 0, 0, 0
    Trackpad Thumb Detection (307): 1, 0
    Trackpad Thumb Size (308):  25, 70
    Trackpad Palm Detection (309):  1, 0
    Trackpad Palm Size (310):   40
    Trackpad Gesture Settings (311):    10, 100
    Trackpad Smooth Scroll (312):   1
    Trackpad Scroll Settings (313): 40, 20, 0
    Trackpad Scroll Buttons (314):  4, 5, 6, 7
    Trackpad Swipe Settings (315):  700, 300, 0
    Trackpad Swipe Buttons (316):   0, 0, 8, 9
    Trackpad Swipe4 Settings (317): 700, 300, 0
    Trackpad Swipe4 Buttons (318):  0, 0, 0, 0
    Trackpad Scroll Coasting (319): 0.100000, 800.000000
    Trackpad Scale Distance (320):  150
    Trackpad Scale Buttons (321):   12, 13
    Trackpad Rotate Distance (322): 150
    Trackpad Rotate Buttons (323):  14, 15
    Trackpad Hold1Move1 Stationary Settings (324):  20, 1
    Trackpad Hold1Move1 Settings (325): 1, 0, 1000
    Trackpad Hold1Move1 Buttons (326):  1, 1, 1, 1
    Trackpad Drag Settings (327):   1, 350, 40, 200
    Trackpad Axis Inversion (328):  0, 0
    Trackpad Edge Size (329):   18

Disable h-scroll during v-scroll and vice versa

Is it possible to disable horizontal scrolling while you scroll vertically and vice versa?
This seems to be the standard behavior on OSX with two-finger scroll and is kind of easier.

It happens a lot to me, if I am using half a browser width and pages have a big horizontal scroll, that once I scroll up/down I also move left/right by accident.

Any thoughts on this?

Сonfused vertical and horizontal scroll labels

Hi,

It seems that vertical and horizontal scroll labels are confused. It causes an unpredictable scrolling in applications that use Qt framework.

When mouse enters Qt window, QXcbConnection::updateScrollingDevice function is executed (http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp?h=5.6#n860). This function enumerates evaluators, looks for valuator with valuatorAtom == QXcbAtom::RelVertScroll label and updates scrollingDevice.lastScrollPosition.

When labels are confused, the vertical scroll position is taken from valuator that tracks horizontal scroll position.

Here is a patch: alexbers@05b3176

`modprobe -r hid_apple && modprobe hid_apple` breaks driver, not sure how to restore

Possibly due to some other bug, after resuming from hibernation, one of two things happen:

  1. Resume fails due to some inconsistency (not sure how to debug, unrelated)

  2. Resume succeeds at which point, trackpad is working just fine, but as soon as I press any key on my keyboard, xorg crashes. Interestingly enough, I found that if I modprobe -r hid_apple && modprobe hid_apple, it stops crashing in this case.

BUT, if I run modprobe -r hid_apple && modprobe hid_apple, trackpad stops working.

Oddly, the result of running xinput indexes between the keyboard and the trackpad swap places (eg: initially keyboard at 11 and trackpad at 12, after it becomes keyboard at 12 and trackpad at 11). This interaction (as well as list-props on the trackpad field is attached below).

2017-04-19-16 36 48

How do I restore the trackpad after modprobe -r hid_apple && modprobe hid_apple (and the xinput indices swap), which appears to be essential for hibernation?

Tap Drag Lock Timeout

I can't find a way to enable behaviour from libinput driver - Tap Drag Lock Timeout. Is it possible with this driver? If not could you add support for it?

Tap Drag Lock Timout is time that TapDrag waits for your finger to re-touch touchpad during tap-to-drag so that you can move things for loooong distances, selecting really long text.

The only similar behaviour I found is emulating dragging with keyboard cursor keys.
My current settings:
xinput list-props 11
Device 'ELAN1200:00 04F3:3022 Touchpad':
Device Enabled (141): 1
Coordinate Transformation Matrix (143): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (276): 0
Device Accel Constant Deceleration (277): 1.000000
Device Accel Adaptive Deceleration (278): 1.000000
Device Accel Velocity Scaling (279): 10.000000
Trackpad Disable Input (280): 0
Trackpad Sensitivity (281): 0.600000
Trackpad Touch Pressure (282): 5, 5
Trackpad Button Settings (283): 1, 1
Trackpad Button Emulation Settings (284): 0, 1, 100
Trackpad Button Emulation Values (285): 3, 2, 0
Trackpad Tap Settings (286): 5, 120, 400
Trackpad Tap Button Emulation (287): 1, 3, 2, 0
Trackpad Thumb Detection (288): 0, 0
Trackpad Thumb Size (289): 25, 70
Trackpad Palm Detection (290): 0, 0
Trackpad Palm Size (291): 40
Trackpad Gesture Settings (292): 10, 100
Trackpad Smooth Scroll (293): 1
Trackpad Scroll Settings (294): 150, 20, 0
Trackpad Scroll Buttons (295): 4, 5, 6, 7
Trackpad Swipe Settings (296): 700, 300, 0
Trackpad Swipe Buttons (297): 8, 9, 10, 11
Trackpad Swipe4 Settings (298): 700, 300, 0
Trackpad Swipe4 Buttons (299): 0, 0, 0, 0
Trackpad Scroll Coasting (300): 0.400000, 400.000000
Trackpad Scale Distance (301): 150
Trackpad Scale Buttons (302): 12, 13
Trackpad Rotate Distance (303): 150
Trackpad Rotate Buttons (304): 14, 15
Trackpad Hold1Move1 Stationary Settings (305): 20, 1
Trackpad Hold1Move1 Settings (306): 1, 0, 1000
Trackpad Hold1Move1 Buttons (307): 1, 1, 1, 1
Trackpad Drag Settings (308): 1, 350, 40, 200
Trackpad Axis Inversion (309): 0, 0
Trackpad Edge Size (310): 10

Gentoo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.