Code Monkey home page Code Monkey logo

xf86-input-mtrack's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xf86-input-mtrack's Issues

IgnoreThumb and BottomEdge do not prevent right-click

I have IgnoreThumb and BottomEdge enabled, which seems to do a good job of rejecting my thumb. However, when my thumb is on the trackpad within the bottom edge zone, one additional finger is touching the trackpad, and a click is made, a right-click occurs.
mtrack seems to recognize the thumb resting within the bottom edge as an additional finger, which trigges the right-click.
I have tried your development branch as well, with the same results. I was going to try and bisect through some previous commits, but unfortunately the older revs wouldn't compile for me.

Cursor jumps when moving very slowly

When trying to reach to an exact pixel, when moving very slowly the cursor jumps 3-6 pixels. This only happens if I leave the cursor still for a bit and then move. If I move continuously the cursor doesn't jump.

Horizontal and vertical swipes should be configured independently.

Currently the horizontal and vertical distances and timings for horizontal and vertical swiping are linked. This causes issues when one wishes to use different axes for different functionality. For instance, vertical for scrolling and horizontal for browser back/forward. Allowing the axes to be configured independently will allow better control over this use case.

IgnoreThumb Improvements

I am having issues with single clicks being mistaken for double clicks based when my 'pointing' finger is still touching the pad. For example, when moving the cursor quickly to a target, and then clicking it... I am getting about 50% single click, and 50% double click. I may be able to tweak this with the FingerHigh/FingerLow options, but I think this could be more precise.

My usage is as follows:

  • I disable all 'tapping' functionality
  • I guide the cursor with my index or middle finger
  • I single and double click with my thumb
  • I two finger click with my index/middle fingers together

The trouble I'm having is that my thumb/index finger together are being mistaken for a two finger click, as well as a two finger scroll. I tried the patch from Pull Request #38, however I don't think that this helps me at all. For my use case:

  • I want to 'IgnoreThumb' while moving the cursor... because it tends to linger around the trackpad... I can also accomplish this with the 'BottomEdge' setting. However...
  • I do not want to ignore the thumb on click, because I single/double click with it

I think the following would be good improvements:

  • Differentiate between IgnoreThumb on click vs IgnoreThumb touching the track pad as they are entirely different
  • Provide an option to specify the distance between fingers for two/three finger gestures. Meaning... When I two finger click with my index/middle fingers... there is very little distance. If I could set that option, the my thumb and index together would no longer be mistaken for a two finger gesture because the distance is further apart (atleast where clicking is concerned).

I hope this all makes sense... Please let me know if I can clarify anything, or if you have any suggestions to my issues.

Thanks!

ETPS/2 Elantech Touchpad Support

I'm using a ASUS N76V Notebook. The integrated Touchpad won't work with the mtrack module. Running on an up-to-date Arch Linux with the designated AUR-Package.

$ cat Xorg.0.log | grep mtrack
[  1405.428] (II) LoadModule: "mtrack"
[  1405.428] (II) Loading /usr/lib/xorg/modules/input/mtrack_drv.so
[  1405.428] (II) Module mtrack: vendor="X.Org Foundation"
[  1405.428] (II) Using input driver 'mtrack' for 'ETPS/2 Elantech Touchpad'
[  1405.429] (II) mtrack: devname: ETPS/2 Elantech Touchpad
[  1405.429] (II) mtrack: devid: 2 e 0
[  1405.429] (II) mtrack: caps: left mtdata
[  1405.429] (II) mtrack: 0: min: 0 max: 2565
[  1405.429] (II) mtrack: 5: min: 0 max: 3420
[  1405.429] (II) mtrack: 6: min: 0 max: 2052
[  1405.429] (II) mtrack: 9: min: 0 max: 65535
[  1405.429] (II) mtrack: 10: min: 0 max: 255
[  1405.491] (II) Using input driver 'mtrack' for 'ETPS/2 Elantech Touchpad'
[  1405.491] (EE) mtrack: cannot configure device
[  1405.491] (II) UnloadModule: "mtrack"

Only Basic Multitouch works

EDIT: I figured that I was using synaptics driver and not mtouch. (was a seperate file in /etc/X11/xorg.conf.d). If I enable mtouch and remove synaptics, touchpad stops working. First I will figure that out and then come for help here if needed.

Things that are working:

  • One finger tap to left-click.
  • Two finger tap to right click.
  • Three finger tap to paste from PRIMARY_CLIPBOARD
  • Two finger up/down scrolling in apps

I have checked by starting

$xbindkeys -n -mk

and I can see all the buttons 1,2,3,4 & 5 being displayed in terminal.

But, if I try three finger swipe, 4 finger swipe, nothing works.. No buttons are emitted. Nothing comes up in the terminal so my guess is it's not being detected.

My xorg.conf: http://sprunge.us/NZRc?bash
Xorg.0.log: http://sprunge.us/TWHW
Versions of packages installed: http://sprunge.us/ASYI
lsusb -v: http://sprunge.us/IbBI

Please note that I am using InputDevice instead of InputClass because when I tried to add MatchIsTouchpad" option and change toInputClass, my xorg.conf complained (line 8) as it asInputDevice` in it.

To enable pinch zoom, show desktop etc, at least I first have to detect & then only I can use xbindkeys.

Am I missing something obvious? Please tell me if you need any more info. Btw, I am running a Macbook Pro 7.1

realtime configuration utility

This is more of a feature request, but having a realtime configuration utility with sliders, buttons, etc, would be pretty awesome.

synaptics sometimes grabs touchpad

Hi, the synaptics driver suddenly took over from mtrack and was reporting my touchpad as a synaptics device (apple magic touchpad in fact) Lost much of the functionality in the process. My fix:
sudo cp /usr/share/X11/xorg.conf.d/50-mtrack.conf /etc/X11/xorg.conf.d/60-mtrack.conf and restart X (or relogin or reboot)
note change of name to "60-mtrack.conf" so it executes after synaptics driver. could this filename be changed by default in /usr/share/... to foreclose this from happening in the first place?

really looking forward to coasting...
Thanks for this great driver.

Typo in Readme

ScrollDownButton - ...
ScrollLeftButton - ...
ScrollDownButton - ...

No movement with Apple Magic Trackpad

The basic problem I'm having is that when I use the mtrack driver with my "Magic Trackpad", I don't get any motion, or any other indication that the touch-sensitive part of the trackpad is working. Clicking on the pad (with the physical clicker that it has) gives me a click event, so I can use a different mouse to move the cursor over a link or something and then use the trackpad's mechanical click to select the link, but other than that the pad seems to be totally disabled. I'm using xf86-input-mtrack-0.1.1 with xorg-server-1.9.5 in Gentoo (I see there's a 0.2.0 tagged in git, but no ebuild for it yet in portage). I have the following 99-magictrackpad.conf in my /usr/share/X11/xorg.conf.d directory:

Section "InputClass"
  MatchIsTouchpad "true"
  Identifier      "Touchpads"
  Driver          "mtrack"
  #Driver          "synaptics"
  #MatchUSBID      "05ac:030e"
  #Option          "TrackpadDisable" "0"
EndSection

which I'm pretty sure is being used. If I switch the comment from the synaptics line to the mtrack line, then my trackpad works, but with the synaptics behaviour instead of the mtrack behaviour that I'd like to try. When I'm using the mtrack driver, xinput list-props gives me this:

Device 'Apple Wireless Trackpad':
        Device Enabled (142):   1
        Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (261):     0
        Device Accel Constant Deceleration (262):       1.000000
        Device Accel Adaptive Deceleration (263):       1.000000
        Device Accel Velocity Scaling (264):    10.000000

With the synaptics driver I get a ton of options, so I'd expect to see the documented mtrack options here as well, so maybe that's useful. The xorg.log stuff for the trackpad is this:

[2347601.270] (II) LoadModule: "mtrack"
[2347601.270] (II) Loading /usr/lib64/xorg/modules/input/mtrack_drv.so
[2347601.270] (II) Module mtrack: vendor="X.Org Foundation"
[2347601.276] (II) mtrack: devname: Apple Wireless Trackpad
[2347601.276] (II) mtrack: devid: 5ac 30e 160
[2347601.276] (II) mtrack: caps: left right mtdata ibt
[2347601.276] (II) mtrack: 0: min: 0 max: 255
[2347601.276] (II) mtrack: 1: min: 0 max: 255
[2347601.276] (II) mtrack: 4: min: -31 max: 32
[2347601.276] (II) mtrack: 5: min: -2909 max: 3167
[2347601.276] (II) mtrack: 6: min: -2456 max: 2565
[2347601.276] (II) mtrack: 9: min: 0 max: 15

And the only other thing I can think of that might be useful is the starting output of "evtest /dev/input/event7":

Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x5ac product 0x30e version 0x160
Input device name: "Apple Wireless Trackpad"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 256 (Btn0)
    Event code 257 (Btn1)
    Event code 272 (LeftBtn)
    Event code 273 (RightBtn)
    Event code 325 (ToolFinger)
    Event code 330 (Touch)
    Event code 333 (Tool Doubletap)
    Event code 334 (Tool Tripletap)
    Event code 335 (?)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value   -864
      Min    -2909
      Max     3167
      Fuzz       4
    Event code 1 (Y)
      Value    -16
      Min    -2456
      Max     2565
      Fuzz       4
    Event code 48 (?)
      Value      0
      Min        0
      Max      255
      Fuzz       4
    Event code 49 (?)
      Value      0
      Min        0
      Max      255
      Fuzz       4
    Event code 52 (?)
      Value      0
      Min      -31
      Max       32
      Fuzz       1
    Event code 53 (?)
      Value      0
      Min    -2909
      Max     3167
      Fuzz       4
    Event code 54 (?)
      Value      0
      Min    -2456
      Max     2565
      Fuzz       4
    Event code 57 (?)
      Value      0
      Min        0
      Max       15
  Event type 4 (Misc)
    Event code 4 (ScanCode)
Testing ... (interrupt to exit)

If I drag my finger across the trackpad, I do get tons of events, with different events for differing number of fingers. If there's anything else I can do to help get this working, I'd be happy to.

Dispad is not in effect

HI,

I have dispad installed. But it does not disable touchpad when typing. Do I need to do any configuration to let mtrack to use dispad? By the way, Selecting text block by pressing left bottom button and moving another finger on the trackpad is not reliable, sometimes it works, sometimes it does not. Similarly, moving windows by the same method is not reliable.

Here is /etc/X11/xorg.conf.d/60-mtrack.conf :

Section "InputClass"
Identifier "Touchpads"
Driver "mtrack"
MatchIsTouchpad "on"
Option "PalmSize" "28"
Option "DisableOnPalm" "on"
Option "DisableOnThumb" "on"
Option "FingerHigh" "7"
Option "FingerLow" "7"
Option "Sensitivity" "0.75"
Option "ScrollDistance" "80"
Option "ClickFinger1" "3"
Option "TapButton2" "3"

EndSection

Here is the unmodified ~/.dispad. It was generated only after I ran dispad manually.

default dispad config file

name of the property used to enable/disable the trackpad

property = "Trackpad Disable Input"

the value used to enable the trackpad

enable = 0

the value used to disable the trackpad

disable = 1

whether or not modifier keys disable the trackpad

modifiers = false

how long (in ms) to sleep betweek keyboard polls

poll = 100

how long (in ms) to disable the trackpad after a keystroke

delay = 1000

create a pid file at the given location; not created if left commented

pidfile = "/home/kite/.dispad.pid"

Here is the /var/log/Xorg.0.log:
[ 29.768]
X.Org X Server 1.9.5
Release Date: 2011-03-17
[ 29.768] X Protocol Version 11, Revision 0
[ 29.768] Build Operating System: Slackware 13.37 Slackware Linux Project
[ 29.768] Current Operating System: Linux darkstar 2.6.39 #1 SMP PREEMPT Mon May 23 19:41:48 Local time zone must be set-- x86_64
[ 29.768] Kernel command line: auto BOOT_IMAGE=linux ro root=804 vt.default_utf8=1
[ 29.768] Build Date: 17 March 2011 10:50:17PM
[ 29.768]
[ 29.768] Current version of pixman: 0.20.2
[ 29.768] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 29.769] Markers: (--) probed, (*) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
29.769 Log file: "/var/log/Xorg.0.log", Time: Wed Aug 31 01:39:56 2011
29.863 Using config directory: "/etc/X11/xorg.conf.d"
29.863 Using system config directory "/usr/share/X11/xorg.conf.d"
30.002 No Layout section. Using the first Screen section.
30.002 No screen section available. Using defaults.
30.002 |-->Screen "Default Screen Section" (0)
30.002 | |-->Monitor ""
30.003 No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
30.003 Automatically adding devices
30.003 Automatically enabling devices
30.054 The directory "/usr/share/fonts/local" does not exist.
[ 30.054] Entry deleted from font path.
30.143 The directory "/usr/share/fonts/CID" does not exist.
[ 30.143] Entry deleted from font path.
30.187 FontPath set to:
/usr/share/fonts/TTF,
/usr/share/fonts/OTF,
/usr/share/fonts/Type1,
/usr/share/fonts/misc,
/usr/share/fonts/75dpi/:unscaled,
/usr/share/fonts/100dpi/:unscaled,
/usr/share/fonts/75dpi,
/usr/share/fonts/100dpi,
/usr/share/fonts/cyrillic
30.187 ModulePath set to "/usr/lib64/xorg/modules"
30.187 The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
30.187 Loader magic: 0x7d2500
30.187 Module ABI versions:
[ 30.187] X.Org ANSI C Emulation: 0.4
[ 30.187] X.Org Video Driver: 8.0
[ 30.187] X.Org XInput driver : 11.0
[ 30.187] X.Org Server Extension : 4.0
30.189 PCI:
(0:0:2:0) 8086:0126:106b:00db rev 9, Mem @ 0xa0000000/4194304, 0x90000000/268435456, I/O @ 0x00002000/64
30.189 Open ACPI successful (/var/run/acpid.socket)
30.189 LoadModule: "extmod"
30.220 Loading /usr/lib64/xorg/modules/extensions/libextmod.so
30.233 Module extmod: vendor="X.Org Foundation"
[ 30.233] compiled for 1.9.5, module version = 1.0.0
[ 30.233] Module class: X.Org Server Extension
[ 30.233] ABI class: X.Org Server Extension, version 4.0
30.233 Loading extension MIT-SCREEN-SAVER
30.233 Loading extension XFree86-VidModeExtension
30.233 Loading extension XFree86-DGA
30.233 Loading extension DPMS
30.233 Loading extension XVideo
30.233 Loading extension XVideo-MotionCompensation
30.233 Loading extension X-Resource
30.234 LoadModule: "dbe"
30.234 Loading /usr/lib64/xorg/modules/extensions/libdbe.so
30.234 Module dbe: vendor="X.Org Foundation"
[ 30.234] compiled for 1.9.5, module version = 1.0.0
[ 30.234] Module class: X.Org Server Extension
[ 30.234] ABI class: X.Org Server Extension, version 4.0
30.234 Loading extension DOUBLE-BUFFER
30.234 LoadModule: "glx"
30.235 Loading /usr/lib64/xorg/modules/extensions/libglx.so
30.251 Module glx: vendor="X.Org Foundation"
[ 30.251] compiled for 1.9.5, module version = 1.0.0
[ 30.251] ABI class: X.Org Server Extension, version 4.0
30.251 AIGLX enabled
30.251 Loading extension GLX
30.251 LoadModule: "record"
30.252 Loading /usr/lib64/xorg/modules/extensions/librecord.so
30.252 Module record: vendor="X.Org Foundation"
[ 30.252] compiled for 1.9.5, module version = 1.13.0
[ 30.252] Module class: X.Org Server Extension
[ 30.252] ABI class: X.Org Server Extension, version 4.0
30.252 Loading extension RECORD
30.252 LoadModule: "dri"
30.252 Loading /usr/lib64/xorg/modules/extensions/libdri.so
30.261 Module dri: vendor="X.Org Foundation"
[ 30.261] compiled for 1.9.5, module version = 1.0.0
[ 30.261] ABI class: X.Org Server Extension, version 4.0
30.261 Loading extension XFree86-DRI
30.261 LoadModule: "dri2"
30.262 Loading /usr/lib64/xorg/modules/extensions/libdri2.so
30.262 Module dri2: vendor="X.Org Foundation"
[ 30.262] compiled for 1.9.5, module version = 1.2.0
[ 30.262] ABI class: X.Org Server Extension, version 4.0
30.262 Loading extension DRI2
30.262 Matched intel as autoconfigured driver 0
30.262 Matched vesa as autoconfigured driver 1
30.262 Matched fbdev as autoconfigured driver 2
30.262 Assigned the driver to the xf86ConfigLayout
30.262 LoadModule: "intel"
30.262 Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
30.294 Module intel: vendor="X.Org Foundation"
[ 30.294] compiled for 1.9.5, module version = 2.15.0
[ 30.294] Module class: X.Org Video Driver
[ 30.294] ABI class: X.Org Video Driver, version 8.0
30.295 LoadModule: "vesa"
30.295 Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
30.305 Module vesa: vendor="X.Org Foundation"
[ 30.305] compiled for 1.9.2, module version = 2.3.0
[ 30.305] Module class: X.Org Video Driver
[ 30.305] ABI class: X.Org Video Driver, version 8.0
30.306 LoadModule: "fbdev"
30.381 Warning, couldn't open module fbdev
30.381 UnloadModule: "fbdev"
30.381 Failed to load module "fbdev" (module does not exist, 0)
30.381 intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
Sandybridge, Sandybridge, Sandybridge, Sandybridge, Sandybridge,
Sandybridge, Sandybridge
30.382 VESA: driver for VESA chipsets: vesa
30.382 using VT number 7

30.583 Falling back to old probe method for vesa
[ 30.583] drmOpenDevice: node name is /dev/dri/card0
[ 30.583] drmOpenDevice: open result is 11, (OK)
[ 30.583] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
[ 30.584] drmOpenDevice: node name is /dev/dri/card0
[ 30.584] drmOpenDevice: open result is 11, (OK)
[ 30.584] drmOpenByBusid: drmOpenMinor returns 11
[ 30.584] drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
30.584 intel(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
30.584 intel(0): Depth 24, (--) framebuffer bpp 32
30.584 intel(0): RGB weight 888
30.584 intel(0): Default visual is TrueColor
30.584 intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge
30.584 intel(0): Chipset: "Sandybridge"
30.584 intel(0): Relaxed fencing enabled
30.584 intel(0): Framebuffer tiled
30.584 intel(0): Pixmaps tiled
30.584 intel(0): 3D buffers tiled
30.584 intel(0): SwapBuffers wait disabled
30.584 intel(0): video overlay key set to 0x101fe
30.674 intel(0): Output LVDS1 has no monitor section
30.675 intel(0): found backlight control interface /sys/class/backlight/acpi_video0
30.675 intel(0): Output VGA1 has no monitor section
30.697 intel(0): Output HDMI1 has no monitor section
30.698 intel(0): Output DP1 has no monitor section
30.718 intel(0): Output HDMI2 has no monitor section
30.741 intel(0): Output HDMI3 has no monitor section
30.742 intel(0): Output DP2 has no monitor section
30.743 intel(0): Output DP3 has no monitor section
30.743 intel(0): EDID for output LVDS1
30.743 intel(0): Manufacturer: APP Model: 9cc3 Serial#: 0
30.743 intel(0): Year: 2009 Week: 28
30.743 intel(0): EDID Version: 1.3
30.743 intel(0): Digital Display Input
30.743 intel(0): Max Image Size [cm]: horiz.: 29 vert.: 18
30.743 intel(0): Gamma: 2.20
30.743 intel(0): No DPMS capabilities specified
30.743 intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
30.743 intel(0): First detailed timing is preferred mode
30.743 intel(0): redX: 0.000 redY: 0.000 greenX: 0.000 greenY: 0.000
30.743 intel(0): blueX: 0.000 blueY: 0.000 whiteX: 0.312 whiteY: 0.328
30.743 intel(0): Manufacturer's mask: 0
30.743 intel(0): Supported detailed timing:
30.743 intel(0): clock: 72.5 MHz Image Size: 286 x 179 mm
30.743 intel(0): h_active: 1280 h_sync: 1328 h_sync_end 1360 h_blank_end 1423 h_border: 0
30.743 intel(0): v_active: 800 v_sync: 803 v_sync_end 809 v_blanking: 846 v_border: 0
30.743 intel(0): Unknown vendor-specific block 1
30.743 intel(0): LP133WX3-TLA3
30.743 intel(0): Color LCD
30.743 intel(0): EDID (in hex):
30.743 intel(0): 00ffffffffffff000610c39c00000000
30.743 intel(0): 1c130103801d12780a00000000000000
30.743 intel(0): 00505400000001010101010101010101
30.743 intel(0): 010101010101521c008f50202e303020
30.743 intel(0): 36001eb3100000180000000100061020
30.743 intel(0): 00000000000000000a20000000fe004c
30.743 intel(0): 503133335758332d544c4133000000fe
30.743 intel(0): 00436f6c6f72204c43440a2020200020
30.743 intel(0): EDID vendor "APP", prod id 40131
30.743 intel(0): Printing DDC gathered Modelines:
30.743 intel(0): Modeline "1280x800"x0.0 72.50 1280 1328 1360 1423 800 803 809 846 -hsync -vsync (50.9 kHz)
30.743 intel(0): Not using default mode "320x240" (doublescan mode not supported)
30.743 intel(0): Not using default mode "400x300" (doublescan mode not supported)
30.743 intel(0): Not using default mode "400x300" (doublescan mode not supported)
30.743 intel(0): Not using default mode "512x384" (doublescan mode not supported)
30.743 intel(0): Not using default mode "640x480" (doublescan mode not supported)
30.743 intel(0): Not using default mode "640x512" (doublescan mode not supported)
30.743 intel(0): Not using default mode "800x600" (doublescan mode not supported)
30.743 intel(0): Not using default mode "896x672" (doublescan mode not supported)
30.743 intel(0): Not using default mode "928x696" (doublescan mode not supported)
30.743 intel(0): Not using default mode "960x720" (doublescan mode not supported)
30.743 intel(0): Not using default mode "700x525" (doublescan mode not supported)
30.743 intel(0): Not using default mode "1024x768" (doublescan mode not supported)
30.743 intel(0): Printing probed modes for output LVDS1
30.743 intel(0): Modeline "1280x800"x60.2 72.50 1280 1328 1360 1423 800 803 809 846 -hsync -vsync (50.9 kHz)
30.743 intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
30.743 intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
30.743 intel(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
30.743 intel(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
30.743 intel(0): EDID for output VGA1
30.765 intel(0): EDID for output HDMI1
30.766 intel(0): EDID for output DP1
30.787 intel(0): EDID for output HDMI2
30.810 intel(0): EDID for output HDMI3
30.811 intel(0): EDID for output DP2
30.812 intel(0): EDID for output DP3
30.812 intel(0): Output LVDS1 connected
30.812 intel(0): Output VGA1 disconnected
30.812 intel(0): Output HDMI1 disconnected
30.812 intel(0): Output DP1 disconnected
30.812 intel(0): Output HDMI2 disconnected
30.812 intel(0): Output HDMI3 disconnected
30.812 intel(0): Output DP2 disconnected
30.812 intel(0): Output DP3 disconnected
30.812 intel(0): Using exact sizes for initial modes
30.812 intel(0): Output LVDS1 using initial mode 1280x800
30.812 intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
30.812 intel(0): Kernel page flipping support detected, enabling
30.812 intel(0): Display dimensions: (290, 180) mm
30.812 intel(0): DPI set to (112, 112)
30.812 Loading sub module "fb"
30.812 LoadModule: "fb"
30.812 Loading /usr/lib64/xorg/modules/libfb.so
30.870 Module fb: vendor="X.Org Foundation"
[ 30.870] compiled for 1.9.5, module version = 1.0.0
[ 30.870] ABI class: X.Org ANSI C Emulation, version 0.4
30.870 Loading sub module "dri2"
30.870 LoadModule: "dri2"
30.870 Reloading /usr/lib64/xorg/modules/extensions/libdri2.so
30.870 UnloadModule: "vesa"
30.870 Unloading /usr/lib64/xorg/modules/drivers/vesa_drv.so
30.870 Depth 24 pixmap format is 32 bpp
30.870 intel(0): [DRI2] Setup complete
30.870 intel(0): [DRI2] DRI driver: i965
30.870 intel(0): Allocated new frame buffer 1280x800 stride 5120, tiled
30.900 UXA(0): Driver registered support for the following operations:
30.900 solid
30.900 copy
30.900 composite (RENDER acceleration)
30.900 put_image
30.900 get_image
30.900 intel(0): Backing store disabled
30.900 intel(0): Silken mouse enabled
30.901 intel(0): Initializing HW Cursor
30.957 intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
30.958 intel(0): DPMS enabled
30.958 intel(0): Intel XvMC decoder enabled
30.958 intel(0): Set up textured video
30.958 intel(0): [XvMC] xvmc_vld driver initialized.
30.958 intel(0): direct rendering: DRI2 Enabled
30.958 intel(0): hotplug detection: "enabled"
30.958 RandR disabled
30.958 Initializing built-in extension Generic Event Extension
30.959 Initializing built-in extension SHAPE
30.959 Initializing built-in extension MIT-SHM
30.959 Initializing built-in extension XInputExtension
30.959 Initializing built-in extension XTEST
30.959 Initializing built-in extension BIG-REQUESTS
30.959 Initializing built-in extension SYNC
30.959 Initializing built-in extension XKEYBOARD
30.959 Initializing built-in extension XC-MISC
30.959 Initializing built-in extension XINERAMA
30.959 Initializing built-in extension XFIXES
30.959 Initializing built-in extension RENDER
30.959 Initializing built-in extension RANDR
30.959 Initializing built-in extension COMPOSITE
30.959 Initializing built-in extension DAMAGE
31.121 AIGLX: enabled GLX_MESA_copy_sub_buffer
31.121 AIGLX: enabled GLX_INTEL_swap_event
31.121 AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
31.121 AIGLX: enabled GLX_SGI_make_current_read
31.121 AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
31.121 AIGLX: Loaded and initialized /usr/lib64/xorg/modules/dri/i965_dri.so
31.121 GLX: Initialized DRI2 GL provider for screen 0
31.121 intel(0): Setting screen physical size to 338 x 211
31.656 config/udev: Adding input device Power Button (/dev/input/event4)
31.656 Power Button: Applying InputClass "evdev keyboard catchall"
31.656 Power Button: Applying InputClass "keyboard-all"
31.656 LoadModule: "evdev"
31.656 Loading /usr/lib64/xorg/modules/input/evdev_drv.so
31.674 Module evdev: vendor="X.Org Foundation"
[ 31.674] compiled for 1.9.3, module version = 2.6.0
[ 31.674] Module class: X.Org XInput Driver
[ 31.674] ABI class: X.Org XInput driver, version 11.0
31.674 Power Button: always reports core events
31.674 Power Button: Device: "/dev/input/event4"
31.679 Power Button: Found keys
31.679 Power Button: Configuring as keyboard
31.679 XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
31.679 Option "xkb_rules" "evdev"
31.679 Option "xkb_model" "evdev"
31.679 Option "xkb_layout" "us"
31.679 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.716 config/udev: Adding input device Video Bus (/dev/input/event7)
31.716 Video Bus: Applying InputClass "evdev keyboard catchall"
31.716 Video Bus: Applying InputClass "keyboard-all"
31.716 Video Bus: always reports core events
31.716 Video Bus: Device: "/dev/input/event7"
31.724 Video Bus: Found keys
31.724 Video Bus: Configuring as keyboard
31.724 XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
31.724 Option "xkb_rules" "evdev"
31.724 Option "xkb_model" "evdev"
31.724 Option "xkb_layout" "us"
31.724 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.755 config/udev: Adding input device Power Button (/dev/input/event2)
31.756 Power Button: Applying InputClass "evdev keyboard catchall"
31.756 Power Button: Applying InputClass "keyboard-all"
31.756 Power Button: always reports core events
31.756 Power Button: Device: "/dev/input/event2"
31.764 Power Button: Found keys
31.764 Power Button: Configuring as keyboard
31.764 XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
31.764 Option "xkb_rules" "evdev"
31.764 Option "xkb_model" "evdev"
31.764 Option "xkb_layout" "us"
31.764 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.765 config/udev: Adding input device Lid Switch (/dev/input/event1)
31.765 No input driver/identifier specified (ignoring)
31.765 config/udev: Adding input device Sleep Button (/dev/input/event3)
31.765 Sleep Button: Applying InputClass "evdev keyboard catchall"
31.765 Sleep Button: Applying InputClass "keyboard-all"
31.766 Sleep Button: always reports core events
31.766 Sleep Button: Device: "/dev/input/event3"
31.772 Sleep Button: Found keys
31.772 Sleep Button: Configuring as keyboard
31.772 XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD)
31.772 Option "xkb_rules" "evdev"
31.772 Option "xkb_model" "evdev"
31.772 Option "xkb_layout" "us"
31.772 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.780 config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/event8)
31.780 Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev keyboard catchall"
31.780 Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "keyboard-all"
31.780 Apple Inc. Apple Internal Keyboard / Trackpad: always reports core events
31.780 Apple Inc. Apple Internal Keyboard / Trackpad: Device: "/dev/input/event8"
31.788 Apple Inc. Apple Internal Keyboard / Trackpad: Found keys
31.788 Apple Inc. Apple Internal Keyboard / Trackpad: Configuring as keyboard
31.788 XINPUT: Adding extended input device "Apple Inc. Apple Internal Keyboard / Trackpad" (type: KEYBOARD)
31.788 Option "xkb_rules" "evdev"
31.788 Option "xkb_model" "evdev"
31.788 Option "xkb_layout" "us"
31.788 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.790 config/udev: Adding input device bcm5974 (/dev/input/event5)
31.790 bcm5974: Applying InputClass "evdev touchpad catchall"
31.790 bcm5974: Applying InputClass "touchpad"
31.790 bcm5974: Applying InputClass "Touchpads"
31.790 LoadModule: "mtrack"
31.791 Loading /usr/lib64/xorg/modules/input/mtrack_drv.so
31.827 Module mtrack: vendor="X.Org Foundation"
[ 31.827] compiled for 1.9.5, module version = 0.1.0
[ 31.827] Module class: X.Org XInput Driver
[ 31.827] ABI class: X.Org XInput driver, version 11.0
31.827 bcm5974: always reports core events
31.827 Option "FingerHigh" "7"
31.827 Option "FingerLow" "7"
31.827 Option "DisableOnThumb" "on"
31.827 Option "DisableOnPalm" "on"
31.827 Option "PalmSize" "28"
31.827 Option "ClickFinger1" "3"
31.827 Option "TapButton1" "1"
31.827 Option "TapButton2" "3"
31.827 Option "TapButton3" "3"
31.827 Option "ScrollDistance" "80"
31.827 Option "Sensitivity" "0.75"
31.827 XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
31.827 device control: init
31.827 Option "Device" "/dev/input/event5"
31.833 mtrack: devname: bcm5974
31.833 mtrack: devid: 5ac 245 1
31.833 mtrack: caps: left mtdata ibt
31.833 mtrack: 0: min: 0 max: 2048
31.833 mtrack: 1: min: 0 max: 2048
31.833 mtrack: 2: min: 0 max: 2048
31.833 mtrack: 3: min: 0 max: 2048
31.833 mtrack: 4: min: -16384 max: 16384
31.833 mtrack: 5: min: -4415 max: 5050
31.833 mtrack: 6: min: -55 max: 6680
31.848 bcm5974: (accel) keeping acceleration scheme 1
31.848 bcm5974: (accel) acceleration profile 0
31.848 bcm5974: (accel) acceleration factor: 2.000
31.848 bcm5974: (accel) acceleration threshold: 4
31.848 device control: on
31.857 Touchpad supports regular and approaching touches.
31.857 touch_min = 0, touch_max = 2048
31.857 Touchpad supports minor touch widths.
31.858 config/udev: Adding input device bcm5974 (/dev/input/mouse0)
31.858 bcm5974: Applying InputClass "Touchpads"
31.858 bcm5974: always reports core events
31.858 Option "FingerHigh" "7"
31.858 Option "FingerLow" "7"
31.858 Option "DisableOnThumb" "on"
31.858 Option "DisableOnPalm" "on"
31.858 Option "PalmSize" "28"
31.858 Option "ClickFinger1" "3"
31.858 Option "TapButton2" "3"
31.858 Option "ScrollDistance" "80"
31.858 Option "Sensitivity" "0.75"
31.858 XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
31.858 device control: init
31.859 Option "Device" "/dev/input/mouse0"
31.864 mtrack: cannot configure device
31.864 Couldn't init device "bcm5974"
31.864 UnloadModule: "mtrack"
31.865 config/udev: Adding input device FaceTime HD Camera (Built-in) (/dev/input/event6)
31.865 FaceTime HD Camera (Built-in): Applying InputClass "evdev keyboard catchall"
31.865 FaceTime HD Camera (Built-in): Applying InputClass "keyboard-all"
31.865 FaceTime HD Camera (Built-in): always reports core events
31.865 FaceTime HD Camera (Built-in): Device: "/dev/input/event6"
31.872 FaceTime HD Camera (Built-in): Found keys
31.872 FaceTime HD Camera (Built-in): Configuring as keyboard
31.872 XINPUT: Adding extended input device "FaceTime HD Camera (Built-in)" (type: KEYBOARD)
31.872 Option "xkb_rules" "evdev"
31.872 Option "xkb_model" "evdev"
31.872 Option "xkb_layout" "us"
31.872 Option "xkb_options" "terminate:ctrl_alt_bksp"
31.883 config/udev: Adding input device applesmc (/dev/input/event0)
31.883 No input driver/identifier specified (ignoring)
31.883 config/udev: Adding input device applesmc (/dev/input/js0)
31.883 No input driver/identifier specified (ignoring)
47.080 intel(0): EDID vendor "APP", prod id 40131
47.081 intel(0): Printing DDC gathered Modelines:
47.081 intel(0): Modeline "1280x800"x0.0 72.50 1280 1328 1360 1423 800 803 809 846 -hsync -vsync (50.9 kHz)
47.148 intel(0): EDID vendor "APP", prod id 40131
47.148 intel(0): Printing DDC gathered Modelines:
47.148 intel(0): Modeline "1280x800"x0.0 72.50 1280 1328 1360 1423 800 803 809 846 -hsync -vsync (50.9 kHz)

Disabling Tapping via TapButton# Disables Movement

The following config causes movement to no longer work. Clicking works and tapping is disabled as expected.

Section "InputClass"
    MatchIsTouchpad "on"
    Identifier      "Touchpads"
    Driver          "mtrack"
    Option          "TapButton1" "0"
    Option          "TapButton2" "0"
    Option          "TapButton3" "0"
    Option          "ThumbSize"  "35"
    Option          "PalmSize"   "55"
    Option          "ClickTime"  "25"
    Option          "ScrollDistance" "300"
EndSection

Pastebin of Xorg.0.log here: http://pastebin.com/d0kMbAvn

No idea what the prereqs are

At first I couldn't figure out how to compile your repos at all, then I found documentation in the dev branch of the dispad repo that told me to use autoreconf

I've deduced some build requirements from make error messages, but I am still unsure of others

 autoreconf -i
Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196.
Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196.
configure.ac:17: error: possibly undefined macro: AC_DISABLE_STATIC
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:18: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1

Is there a canonical list of requirements I should install before building?

And thanks for putting out these programs, I look forward to using them!

automake error please help

HI,

I am trying to compile the git version, but got the following error. I am sure that xorg-macros 1.13.0 is installed. What could be wrong. Thanks:

bash-4.1# automake
configure.ac:21: error: must install xorg-macros 1.8 or later before running autoconf/autogen
configure.ac:21: the top level
autom4te: /usr/bin/m4 failed with exit status: 1

automake: autoconf failed with exit status: 1

Kite

Documentation mistakes

Hi,
Thanks for your driver, I'm running version 0.3.0 on a Gentoo (kernel 3.9.0-rc1) with the Cypress trackpad.

There are few copy and past mistakes in the README documentation:

  • RotateRightButton says the default is 14 but it actually is 15.
  • ScrollDownButton is mentioned twice, but I guess you meant ScrollRightButton for the second.

I've uploaded mtrack-documentation-fixes.diff patch to gist:
https://gist.github.com/AndreMiras/5128330

Error compiling after upgrading centos

I've been using xf86-input-mtrack on centos 6.3 with great success. But after upgrading to the version 6.4 I'm not being able to compile it anymore. I get the following error:

[root@nirvana xf86-input-mtrack]# make
make all-am
make[1]: Entrando no diretório /root/xf86-input-mtrack' CC capabilities.lo CC gestures.lo CC hwstate.lo CC mconfig.lo CC mtouch.lo CC mtstate.lo CC trig.lo CC mtrack.lo CC mprops.lo CCLD mtrack_drv.la CC mtrack_test-capabilities.o CC mtrack_test-gestures.o CC mtrack_test-hwstate.o CC mtrack_test-mconfig.o CC mtrack_test-mtouch.o CC mtrack_test-mtstate.o CC mtrack_test-trig.o CC mtrack_test-mtrack-test.o CCLD mtrack-test mtrack_test-gestures.o: In functiontrigger_move':
/root/xf86-input-mtrack/./src/gestures.c:396: undefined reference to hypot' mtrack_test-gestures.o: In functionmoving_update':
/root/xf86-input-mtrack/./src/gestures.c:704: undefined reference to hypot' /root/xf86-input-mtrack/./src/gestures.c:684: undefined reference tohypot'
/root/xf86-input-mtrack/./src/gestures.c:684: undefined reference to hypot' /root/xf86-input-mtrack/./src/gestures.c:685: undefined reference tohypot'
mtrack_test-gestures.o:/root/xf86-input-mtrack/./src/gestures.c:685: more undefined references to hypot' follow mtrack_test-trig.o: In functiontrig_decode_radians':
/root/xf86-input-mtrack/./src/trig.c:41: undefined reference to sincos' mtrack_test-trig.o: In functiontrig_angles_avg':
/root/xf86-input-mtrack/./src/trig.c:100: undefined reference to atan2' mtrack_test-trig.o: In functiontrig_direction':
/root/xf86-input-mtrack/./src/trig.c:47: undefined reference to atan2' collect2: ld returned 1 exit status make[1]: ** [mtrack-test] Erro 1 make[1]: Saindo do diretório/root/xf86-input-mtrack'
make: ** [all] Erro 2

Is there anything I can do about it?

Thank you very much.

Cannot scroll down/scroll right

I'm trying to use my Magic Trackpad. For some reason I can't scroll down or to the right, while up and left works fine. I'm using mtrack 0.3.0 on xorg-server 1.13.1, bluez 4.101-r5, kernel 3.8.4-gentoo.

I enabled debugging.
http://guru3.net/temp/scrollup.txt
http://guru3.net/temp/scrolldown.txt
http://guru3.net/temp/threetap.txt

It looks somehow like scrolling down is either flat out not detected or is detected as a rotate. This may be related to the fact that occasionally when middle clicking (three tap) the mouse pointer goes flying.

I'm not sure exactly what the issue is, but it looks like some sort of integer wrapping issue may be happening:
(II) is_thumb: no -2147483648 > 70 && 0 > 25

The trackpad works fine on another computer with mtrack.

Emulated rightclick after moving mouse does not work

[This is using a early MacBook Air]

Steps to reproduce:

  1. Move mouse with one finger
  2. Add another finger while still keeping the first finger
  3. Click mouse button

Result: preforms leftclick
Expected result: preform rightclick.

Problems with xserver-xorg 1.16

Hi,

With xserver 1.16, mtrack is not able to work properly anymore. As I am using debian, I've filled a bug report[0]. I recompiled the driver with latest xorg version, and even if the driver is loaded, the mouse pointer behaves incorrectly. It only appears when it is near to the corners of the screen. Do you think it is possible to solve this problem?

If you need more information, do not hesitate to contact me.

Thanks,

[0] https://bugs.debian.org/754683

Touchpad's too sensitive (FingerLow/FingerHigh) on HP ProBook

Hello.

I just installed mtrack from AUR on my HP ProBook 4520s with Synaptics ClickPad (it looks like this: http://www.nb-guide.info/images/stories/34/464.jpg ). The problem is that my touchpad seems too sensitive for your driver — and I'm not talking about "Sensitivity" option, but "FingerLow" and "FingerHigh". I think that 100/100 is not enough for my notebook: I can move mouse cursor without even touching the touchpad, moving my finger in the air over it.

Hope you'll help. And yeah, shame about my English, feel free to correct me.

Cannot change TapButton values

No matter what values I change TabButton{1,2,3}, I always get onefinger tap as left click, two-button tap as middle-click & three-finger tap as right click.

Button Zones - Alternative Button Emulation

For trackpads with a single, integrated button (such as newer MacBooks) there should be an alternative button emulation which would use the location of the finger doing the clicking to determine which button to emulate. This would reproduce the feel of a three-button trackpad.

Three-finger-swipe not uniform with the behavior in Mac OS X)

I don't know if this is more related to chromium, but:
The three-finger-swipe actions in chromium/firefox is at the moment up (to go back) and down (to go forward). Left and right swipes doesn't do anything. Couldn't it be better if this was uniform with the behavior in OSX where back/forward is left/right and up/down is if I remember correctly, page up/down (or basically just to-the-top-of-page and the other way around).

Xinput Button Labels Incorrect

The button labels as reported by xinput are incorrect. The button labels are a hold-over from xf86-input-multitouch and need to be corrected.

Three Finger Tapping Not Responsive

Three finger tapping is not responsive. Sometimes it takes multiple attempts to do a three finger tap, usually producing two finger taps in the process.

Palm detection does not work near edges

I have the ignore palm option set with a fairly small threshold for palm detection. However I can always trigger a click if I rest my palm right near the edge of the trackpad. This results in the cursor moving or the active windows changing whilst typing which is very frustrating.

Tap-to-Drag Not Usable

Tap-to-drag is unusable. Needs recoding to match how the rest of the world implements it.

after update to xorg-server 1.16.0-6 mtrack fails to function

Hi,

After the recent (about two weeks ago) xorg update and related package updates for xf86*, xf86-input-mtrack fails to function (i.e. no mouse movement associated with trackpad touches). I can run xf86-input-synaptics with no problems. I've been troubleshooting this since the initial update and am now just spinning my wheels. I've tried reinstalling, websearching, and reading through wiki's and man pages to understand the problem, but I'm not cracking it. My system (Arch) is up to date, and I'm working off xf86-input-mtrack-git from the AUR. I'm hoping that since no one else has posted this problem, that there is a simple fix that I am overlooking. Here is output from Xorg.0.log:

37.396 LoadModule: "mtrack"
37.396 Loading /usr/lib/xorg/modules/input/mtrack_drv.so
37.403 Module mtrack: vendor="X.Org Foundation"
37.403 Using input driver 'mtrack' for 'bcm5974'
37.405 mtrack: devname: bcm5974
37.405 mtrack: devid: 5ac 252 1
37.405 mtrack: caps: left mtdata ibt
37.405 mtrack: 0: min: 0 max: 2048
37.405 mtrack: 1: min: 0 max: 2048
37.405 mtrack: 2: min: 0 max: 2048
37.405 mtrack: 3: min: 0 max: 2048
37.405 mtrack: 4: min: -16384 max: 16384
37.405 mtrack: 5: min: -4750 max: 5280
37.405 mtrack: 6: min: -150 max: 6730
37.406 mtrack: 9: min: 0 max: 65535
37.461 Using input driver 'mtrack' for 'bcm5974'
37.462 mtrack: cannot configure device
37.462 UnloadModule: "mtrack"

And here is my (barebones) mtrack.conf:

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

Any help is appreciated. :)

A bit of further info: Linux version 3.16.0-2-ARCH running on a Macbook pro 8,1.

Swapping touchscreen axes

Hi,

Is there any way to swap touchscreen axes? When I move my finger up, the cursor goes left, when I move it down then cursor goes right and so on. I tried using Coordinate Transformation Matrix, but that didn't seem to change anything. I'm using an android tablet with a chrooted Debian install, with a rotated framebuffer to display in landscape.

Thanks for your help in advance

Issues installing on Ubuntu 11.10 with 3.0.0-12 Kernel

Conditions

New install of Ubuntu 11.10

Ran "http://almostsure.com/mba42/post-install-oneiric.sh", a post-install script for MacBook Air running Ubuntu 11.10 which reports to have mtrack working fine. The script failed to download and install mtrack. However, it did succeed with the other things it claims to get working.

Installation Method

dpkg-buildpackage
cd ..
sudo dpkg --install xserver-xorg-input-mtrack_0.2.0_amd64.deb

Added the following to xorg.conf:

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

Issues

  • Touchpad didn't work after restarting X.
  • Xorg log can't find "mtrack" driver.
  • Module files in /usr/lib/xorg/modules/input/ are named "mtrack_drv.so" and "mtrack_drv.la". Rename
    these and Xorg now finds the driver.
  • Xorg failes to completely load the module: "(EE) module ABI major version (13) doesn't match the
    server's version (12)" I tried to edit the field in mtrack.c (yes, hackish) but I can't understand CARD8
    data type, nor can I find a definition for it.
    • Can't progress further.

Additional Information

Acceleration of the pointer

Hi, thanks for your awesome driver but I've got a question.
I there a way to specify "acceleration" of the pointer?

synaptic touchpad not working at all?

Hello,
after installing Debian on my new Thinkpad T431s, I wanted to exploit some features of mtrack, especially ClickFinger2 feature. My touchpad works with synaptics driver, however it does not seem to work at all with mtrack. My config is the simples one (/etc/X11/xorg.conf.d/50-mtrack.conf)
Section "InputClass"
MatchIsTouchpad "true"
Identifier "Multitouch Touchpad"
Driver "mtrack"
EndSection

The module seems to be loaded correctly, but the cursor does not move at all. s Here is the corresponding piece of Xorg0.log.
Can you please point out what's wrong?

Thanks a lot,
cheers Tomas

root@ipnp-n19a:~# egrep -i "touch|mtrack" /var/log/Xorg.0.log
105.329 config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event7)
105.329 SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
105.329 SynPS/2 Synaptics TouchPad: Applying InputClass "Multitouch Touchpad"
105.330 SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
105.330 SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons"
105.330 SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
105.330 SynPS/2 Synaptics TouchPad: Applying InputClass "Multitouch Touchpad"
105.330 LoadModule: "mtrack"
105.330 Loading /usr/lib/xorg/modules/input/mtrack_drv.so
105.330 Module mtrack: vendor="X.Org Foundation"
105.330 Using input driver 'mtrack' for 'SynPS/2 Synaptics TouchPad'
105.330 SynPS/2 Synaptics TouchPad: always reports core events
105.330 SynPS/2 Synaptics TouchPad: always reports core events
105.330 XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 11)
105.330 mtrack: devname: SynPS/2 Synaptics TouchPad
105.330 mtrack: devid: 2 7 1b1
105.330 mtrack: caps: left mtdata
105.330 mtrack: 5: min: 1472 max: 5112
105.330 mtrack: 6: min: 1408 max: 3834
105.330 mtrack: 9: min: 0 max: 65535
105.330 mtrack: 10: min: 0 max: 255
105.388 SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
105.388 SynPS/2 Synaptics TouchPad: (accel) acceleration profile 0
105.388 SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
105.388 SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
105.388 Touchpad is pressure based.
105.388 touch_min = 0, touch_max = 255
105.388 config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse1)
105.388 SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"

Clicking does not ignore thumb

When clicking with the thumb and forefinger down gives a two finger click gesture.

This is particularly tr a problem with the mac unibody touchpad as pressing with the thumb is the only way to click it.

Tested with v0.2.0.

TapButton2 and TapButton3 option not overwritable

Hi, I have this configuration file:

/etc/X11/xorg.conf.d/10-mtrack.conf

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

Option      "ClickFinger2"          "0"
Option      "ClickFinger3"          "0"

Option      "TapButton2"            "2"
Option      "TapButton3"            "3"

Option      "IgnoreThumb"           "yes"
Option      "ThumbSize"             "200"
Option      "ThumbRatio"            "20"

Option      "TapDragEnable"         "no"

Option      "ScrollDistance"        "25"

EndSection

But the Option TapButton2 and TapButton3 does not overwrite the original one, so when i tap with 2 finger I will not get the context menu that I get instead with the 3 finger tap and when I tap with 2 finger on a chrome tab for example I get the tab close as if I do a middle mouse click.

Tap-to-drag results in extraneous button clicks

Tap-to-drag on an Apple Magic Trackpad using mtrack (0.2, Ubuntu Natty/11.04 x64, built from git master cloned on 2011-07-27) appears to result in extraneous button clicks.

When I tap to drag, I get a button1 click (press then release) immediately followed by a drag. This is what my finger does on the trackpad to initiate the drag (fast tap quickly followed by long press with drag), but nonetheless, this isn't correct/expected driver behavior. In Windows, OS X, and the xorg-input-synaptics driver, that first click is suppressed if a drag is initiated properly.

Bad things happen: if I try to tap-and-drag a window by its titlebar, it maximizes and won't drag. If I tap-and-drag to select text in a window, I get the first full word selected (the double-click) then, as I keep my finger down, dragging works as expected.

It's most easily observed using "xinput test [device]" where a drag looks like this:

$ xinput test 10
...
button press   1 
button release 1 
button press   1 
motion a[0]=731 a[1]=-1318 
motion a[0]=726 a[1]=-1289 
motion a[0]=721 a[1]=-1264 
motion a[0]=719 a[1]=-1233 
motion a[0]=717 a[1]=-1205 
motion a[0]=717 a[1]=-1179 
button release 1 
...

So the drag is working, but it has that extraneous button press-release first.

There are no timestaps on this, so it's hard to see what's really happening. So I recompiled mtrack with DEBUG_GESTURES defined and ran xev (which includes timestamps) at the same time. The linked files (via pastebin) xev.log and mtrack.log (excerpted from Xorg.0.log) show what happens there.

xev.log: http://pastebin.com/hrBfs1VC
mtrack.log: http://pastebin.com/1njpNTQc

The linked xev.log and mtrack.log files show events from the same sequence of movement, so the timestamps can be correlated. The movements were:

Some pointer movement in the xev window (time=685082.775-685083.437)
a tap-and-drag (time=685085.439-685086.351)
More pointer movement (time=685088.702-685089.244)
another tap-and-drag (time=685092.168-685093.270)
More pointer movement (time=685094.935+)

I removed excess movement messages from the logs, leaving only a few in place around the button presses. I annotated the logs a little bit in square brackets, basically just to show where I removed excess movement messages and to delineate the separate movement sequences listed above.

Finally, below is a dump of "xinput list-props" on the trackpad device, so you can see the current property settings. I have tweaked some of the properties, but the same problem occurs at default settings.

Device 'Apple Wireless Trackpad':
    Device Enabled (117):  1
    Coordinate Transformation Matrix (119):  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (242):  0
    Device Accel Constant Deceleration (243):  1.000000
    Device Accel Adaptive Deceleration (244):  1.000000
    Device Accel Velocity Scaling (245):  10.000000
    Trackpad Disable Input (268):  0
    Trackpad Sensitivity (269):  1.000000
    Trackpad Touch Pressure (270):  5, 5
    Trackpad Button Settings (271):  1, 1, 100, 0
    Trackpad Button Emulation (272):  3, 2, 0
    Trackpad Tap Settings (273):  50, 200, 400
    Trackpad Tap Button Emulation (274):  1, 3, 2, 0
    Trackpad Thumb Detection (275):  0, 0
    Trackpad Thumb Size (276):  25, 70
    Trackpad Palm Detection (277):  0, 0
    Trackpad Palm Size (278):  40
    Trackpad Gesture Settings (279):  10, 200
    Trackpad Scroll Distance (280):  100
    Trackpad Scroll Buttons (281):  4, 5, 6, 7
    Trackpad Swipe Distance (282):  500
    Trackpad Swipe Buttons (283):  9, 8, 10, 11
    Trackpad Swipe4 Distance (284):  700
    Trackpad Swipe4 Buttons (285):  0, 0, 0, 0
    Trackpad Scale Distance (286):  150
    Trackpad Scale Buttons (287):  14, 15
    Trackpad Rotate Distance (288):  150
    Trackpad Drag Settings (289):  1, 350, 40, 200
    Synaptics Locked Drags (448):  0
    Synaptics Tap FastTap (449):  0
    Synaptics Tap Time (450):  350
    Synaptics Tap Move (451):  350
    Synaptics Edge Scrolling (452):  0, 0, 0

(And maybe it's irrelevant, but why are the mtrack properties showing some synaptics entries? That's weird. There's no trace of synaptics in my Xorg.0.log. Huh.)

This is a great driver, and except for this problem (and the minor annoyance of the "sticky" upward scrolling, issue #18) it's just about perfect. I might submit a feature request or two, though . . .

Touchpad has minimal capabilities

I'm trying to use mtrack on my MacbookPro 8,1 on Centos 6.2.I could build it and installed it, but it seems that my touchpad is detected with minimal capabilities.

I could only load the driver using MatchUSBID. See details bellow:

/etc/X11/xorg.conf.d/50-mtrack.conf:

Section "InputClass"

MatchIsTouchpad "true"

Identifier "Touchpads"
MatchUSBID "05ac:820b"
Driver "mtrack"
EndSection

/var/log/Xorg.0.log shows:

30121.252 config/hal: Adding input device HID 05ac:820b
30121.252 HID 05ac:820b: Applying InputClass "Touchpads"
30121.252 LoadModule: "mtrack"
30121.252 Loading /usr/lib64/xorg/modules/input/mtrack_drv.so
30121.252 Module mtrack: vendor="X.Org Foundation"
[ 30121.252] compiled for 1.10.4, module version = 0.1.0
[ 30121.252] Module class: X.Org XInput Driver
[ 30121.252] ABI class: X.Org XInput driver, version 12.2
30121.252 Using input driver 'mtrack' for 'HID 05ac:820b'
30121.252 Loading /usr/lib64/xorg/modules/input/mtrack_drv.so
30121.252 HID 05ac:820b: always reports core events
30121.252 HID 05ac:820b: always reports core events
30121.252 Option "config_info" "hal:/org/freedesktop/Hal/devices/usb_device_5ac_820b_noserial_if0_logicaldev_input"
30121.252 XINPUT: Adding extended input device "HID 05ac:820b" (type: TOUCHPAD)
30121.252 device control: init
30121.252 Option "Device" "/dev/input/event10"
30121.260 mtrack: devname: HID 05ac:820b
30121.260 mtrack: devid: 5ac 820b 111
30121.260 mtrack: caps: left middle right
30121.276 HID 05ac:820b: (accel) keeping acceleration scheme 1
30121.276 HID 05ac:820b: (accel) acceleration profile 0
30121.276 HID 05ac:820b: (accel) acceleration factor: 2.000
30121.276 HID 05ac:820b: (accel) acceleration threshold: 4
30121.276 device control: on
30121.284 Touchpad has minimal capabilities. Some features will be unavailable.

[root@nirvana src]# uname -a
Linux nirvana 2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux

[root@nirvana src]# lsusb | grep -i apple
Bus 001 Device 003: ID 05ac:8509 Apple, Inc.
Bus 001 Device 005: ID 05ac:0245 Apple, Inc.
Bus 002 Device 003: ID 05ac:8242 Apple, Inc. IR Receiver [built-in]
Bus 001 Device 006: ID 05ac:820a Apple, Inc.
Bus 001 Device 007: ID 05ac:820b Apple, Inc.
Bus 001 Device 008: ID 05ac:821a Apple, Inc.

Is my trackpad supported? Or is it a kernel issue? I have bcm5974 native kernel module installed. Tried to modprobe it manually.

Thanks

Button Emulation Triggered While Moving/Dragging

All fingers on the trackpad are counted towards button emulation when clicking the physical button. Fingers which are participating in movement, scrolling, swiping, etc should not be counted.

MBA 6.2 (2013) Trackpad does not work.

With a Mac book air 6.2 (2013), I install this Archlinux package: aur/xf86-input-mtrack-git 1:0.2.0.49.g7977197-1

Synaptics is not installed.

Xorg config: /etc/X11/xorg.conf.d/10-mtrack.conf

Section "InputClass"
    MatchIsTouchpad "true"
    Identifier "Multitouch Touchpad"
    Driver "mtrack"
    Option  "ThumbSize" "35"
    Option  "PalmSize"  "55"
    Option  "ScrollDistance"    "120"
    Option  "TapDragEnable" "false"
    Option  "IgnorePalm"    "true"
    Option  "Sensitivity"   "0.50"
    Option  "ScaleUpButton" "0"
    Option  "ScaleDownButton"   "0"
    Option  "IgnoreThumb"   "true"
    Option  "ThumbRatio"    "50"

    Option  "TapButton1"    "0"
    Option  "TapButton2"    "0"
    Option  "TapButton3"    "0"
EndSection

I can't click with two fingers ('right' click).
I can't scroll with two fingers.

Am I missing something? Thanks.

Build issue, automake "must install xorg-macros 1.8 or later before running autoconf/autogen"

Not sure if this is the proper context for this question, but I found the closest related post here. Unfortunately, I am very new to automake.

I am having the exact same issue as described in the link above. I tried running "autoreconf -i" as suggested, but it fails with this output:

Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 189.
Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 189.
configure.ac:23: error: xorg-macros version 1.8 or higher is required but 1.5.0 found
/usr/share/aclocal/xorg-macros.m4:39: XORG_MACROS_VERSION is expanded from...
configure.ac:23: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: /usr/bin/autom4te failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

Does anyone have any advice on attacking this issue? Do I have the right approach to building, or should I be doing something else?

Edit: Apologies for the misplaced post. If anyone else has this issue, I found an updated file at ftp.x.org (http://ftp.x.org/pub/individual/util/). I downloaded the most recent version of util-macros (util-macros-1.16.2.tar.gz in my case) and configured it using the instructions in the included INSTALL file. I then manually copied the file to the appropriate location (/usr/share/aclocal/xorg-macros.m4 for me). I later needed to install libtool (sudo apt-get install libtool) and add a soft link to /usr/share/aclocal/ (ln -s /usr/bin/libtool /usr/share/aclocal/LIBTOOL); it finally built with "autoreconf -i".

IgnoreThumb true, but thumb triggers two finger click

Hi I'm using mtrack on a MacbookPro 5, 5 with linux mint 14 installed, but I'm noticing that thumb detection seems to work for everything but button clicks.

I put my thumb and index finger on the trackpad. Using my index finger I move the mouse over a button or something i want to click on and press down on my thumb. A right click is triggered instead of a normal click.

ThinkPad T440s: only upper 5% of the touchpad are outside "ButtonEdge"

When using the mtrack driver, I have to start all movment and make all taps and gesture on the upper 5% of the touchpad. Note that exatcly at this position there is a read line on the touchpad.

I tried to disable the ButtonEdge by setting it to 0 without success. evtest shows me normal behaviour everywhere on the touchpad, even QuadTaps.

This is my xinput watch-props output with the synaptics driver (i cannot copy and paste the output with mtrack and somehow xinput does not send the output to a pipe or a file, no clue why):

Device 'TPPS/2 IBM TrackPoint':
    Device Enabled (134):   1
    Coordinate Transformation Matrix (136): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (259): 0
    Device Accel Constant Deceleration (260):   1.000000
    Device Accel Adaptive Deceleration (261):   1.000000
    Device Accel Velocity Scaling (262):    10.000000
    Device Product ID (253):    2, 10
    Device Node (254):  "/dev/input/event5"
    Evdev Axis Inversion (297): 0, 0
    Evdev Axes Swap (299):  0
    Axis Labels (300):  "Rel X" (144), "Rel Y" (145)
    Button Labels (301):    "Button Left" (137), "Button Middle" (138), "Button Right" (139), "Button Wheel Up" (140), "Button Wheel Down" (141)
    Evdev Middle Button Emulation (302):    0
    Evdev Middle Button Timeout (303):  50
    Evdev Third Button Emulation (304): 0
    Evdev Third Button Emulation Timeout (305): 1000
    Evdev Third Button Emulation Button (306):  3
    Evdev Third Button Emulation Threshold (307):   20
    Evdev Wheel Emulation (308):    0
    Evdev Wheel Emulation Axes (309):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (310):    10
    Evdev Wheel Emulation Timeout (311):    200
    Evdev Wheel Emulation Button (312): 4
    Evdev Drag Lock Buttons (313):  0

Please let me know how I can provide more information.

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.