Bug 250427 - sax2: MacBook Touchpad wrong synaptics options
Summary: sax2: MacBook Touchpad wrong synaptics options
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 11.0
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: Beta 2
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: Beta 2
Assignee: Marcus Schaefer
QA Contact: Jiri Srain
URL:
Whiteboard:
Keywords:
Depends on: 374101
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-01 22:10 UTC by Felix Möller
Modified: 2008-06-02 10:19 UTC (History)
2 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
/usr/sbin/sysp -q mouse (885 bytes, text/plain)
2007-03-02 19:27 UTC, Felix Möller
Details
hwinfo --usb --log=hwinfo (234.33 KB, text/plain)
2007-09-17 10:20 UTC, Felix Möller
Details
hwinfo --mouse --log=foo (453.21 KB, text/plain)
2008-03-05 20:23 UTC, Felix Möller
Details
xorg.conf.sax080505 (5.12 KB, text/plain)
2008-05-05 14:58 UTC, Felix Möller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Möller 2007-03-01 22:10:36 UTC
After the standard install of 10.3-alpha1 there is no way to right click on a MacBook.

The touchpad driven by the appletouch kernel module can be used with the x11-input-synaptics driver. http://www.popies.net/atp/

This allows much better configuration of the touchpad.
http://simon.vanderlinden.eu.org/macbook-howto-emulate-the-trackpad-as-a-synaptics-touchpad-with-ubuntu/

The Installer configured the touchpad with:
Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "7"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "Apple Keyboard"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection

The name is strange ...

The touchpad is better configured with the lines mentioned in the blog:
Section "InputDevice"
  Identifier      "Mouse[1]"
  Driver          "synaptics"
  Option          "SendCoreEvents"        "true"
  Option          "Device"                "/dev/psaux"
  Option          "Protocol"              "auto-dev"
  Option          "LeftEdge"      "100"
  Option          "RightEdge"     "1120"
  Option          "TopEdge"       "50"
  Option          "BottomEdge"    "310"
  Option          "FingerLow"     "25"
  Option          "FingerHigh"    "30"
  Option          "MaxTapMove"    "220"
  Option          "TapButton1"    "1"
  Option          "TapButton2"    "3"
  Option          "TapButton3"    "2"
  Option          "MinSpeed"      "0.79"
  Option          "MaxSpeed"      "0.88"
  Option          "AccelFactor"   "0.0015"
  Option          "SHMConfig"     "on"
EndSection
Comment 1 Marcus Schaefer 2007-03-02 15:08:34 UTC
the output of the command:

   /usr/sbin/sysp -q mouse

is needed to assign another driver to the device

Thanks
Comment 2 Felix Möller 2007-03-02 19:27:33 UTC
Created attachment 122115 [details]
/usr/sbin/sysp -q mouse

Mouse1 is my external USB-Mouse
Comment 3 Felix Möller 2007-03-02 19:36:40 UTC
it's not the external mouse, my fault.

By playing with sysp I found out that there are two keyboards detected too, is this intended?

# /usr/sbin/sysp -q keyboard
Keyboard0 =>  XkbModel   : macintosh
Keyboard0 =>  XkbLayout  : de
Keyboard0 =>  XkbVariant : nodeadkeys
Keyboard0 =>  Name       : Apple Internal Keyboard / Trackpad
Keyboard0 =>  VendorID   : 0x05ac
Keyboard0 =>  DeviceID   : 0x0218
Keyboard0 =>  Profile    : <undefined>
Keyboard0 =>  RealDevice : /dev/input/event3

Keyboard1 =>  XkbModel   : macintosh
Keyboard1 =>  XkbLayout  : de
Keyboard1 =>  XkbVariant : nodeadkeys
Keyboard1 =>  Name       : Apple Keyboard
Keyboard1 =>  VendorID   : 0x05ac
Keyboard1 =>  DeviceID   : 0x1000
Keyboard1 =>  Profile    : <undefined>
Keyboard1 =>  RealDevice : /dev/input/event5
Comment 4 Marcus Schaefer 2007-03-05 09:17:31 UTC
* Hmm, I'm confused which device is your mouse you want to assign
  the synaptics touchpad driver for ?

* I think before we start to map anything here the bug I assume to
  be in hwinfo should be fixed:

    - it reports two keyboard where only one keyboard exist
    - it reports a keyboard device as mouse

Steffen can you have a look at this ?

Thanks
Comment 5 Daniel Bornkessel 2007-04-19 09:28:24 UTC
The following will work [tested on 10.3]:

in xorg.conf:

Section "InputDevice"
Identifier    "Synaptics Touchpad"
Driver                "synaptics"
Option          "CorePointer"
Option          "SendCoreEvents" "true"
Option          "Device"                        "/dev/psaux"
Option          "Protocol"                      "auto-dev"
Option          "SHMConfig"                     "true"
Option          "MinSpeed"                      "0.30"
Option          "MaxSpeed"                      "1.10"
Option          "EdgeMotionMinSpeed"                    "200"
Option          "EdgeMotionMaxSpeed"                    "200"
Option          "FastTaps"                      "1"
Option          "MaxTapTime"                    "100"
Option          "AccelFactor"                   "0.035"
Option          "HorizScrollDelta"                      "0"
Option          "VertTwoFingerScroll"                   "1"
Option          "HorizTwoFingerScroll"                  "1"
Option          "CircularScrolling"                     "1"
Option          "CircScrollTrigger"                     "0"
Option          "FingerLow"                     "1"
Option          "FingerHigh"                    "3"
Option          "LeftEdge"                      "80"
Option          "TopEdge"                       "80"
Option          "RightEdge"                     "850"
Option          "BottomEdge"                    "560"
Option          "TapButton1"                    "1"
EndSection

... add to Section "ServerLayout" the following entry:

   InputDevice  "Synaptics Touchpad" "CorePointer"

Install ksynaptics and configure to your needs.
This should be done automatically if possible.

Regards,
Daniel
Comment 6 Daniel Bornkessel 2007-04-19 09:33:34 UTC
- uhm: this works on a macbook pro
- on 10.2 this could work as well depending on the modell ... you might have to do the following before starting the X server:

/sbin/rmmod appletouch;/sbin/rmmod usbhid;/sbin/modprobe appletouch;/sbin/modprobe usbhid

all in one line, otherwise you can't use the keyboard anymore
Comment 7 Felix Möller 2007-04-20 12:49:12 UTC
(In reply to comment #6)
> - uhm: this works on a macbook pro
I wrote this report for a plain MacBook. Your configuration is working here too. But the scrolling area seems way too big. It is around 40% of the touchpad.

> - on 10.2 this could work as well depending on the modell ... you might have to
> do the following before starting the X server:
> 
> /sbin/rmmod appletouch;/sbin/rmmod usbhid;/sbin/modprobe
> appletouch;/sbin/modprobe usbhid
> 
> all in one line, otherwise you can't use the keyboard anymore
On my MacBook it works without such hacks.
Comment 8 Felix Möller 2007-04-20 21:02:22 UTC
Testing this config more deeply. I must say please do not use this config for the plain MacBook it is really not working well. My config from the first entry is working way better.
Comment 9 Cornelius Schumacher 2007-05-15 09:28:21 UTC
I tried the config from the initial description on a MacBook Pro (old Intel) and 10.2 and it works fine.
Comment 10 Felix Möller 2007-07-02 09:40:48 UTC
It is still not working with current factory. What is needed?
Comment 11 Steffen Winterfeldt 2007-07-02 09:44:47 UTC
didn't find the time yet to look at it
Comment 12 Felix Möller 2007-08-29 16:58:32 UTC
ping?
Comment 13 Steffen Winterfeldt 2007-09-17 09:50:49 UTC
Can you please post the log of 'hwinfo --usb --log=xxx' for this machine?
Comment 14 Felix Möller 2007-09-17 10:20:53 UTC
Created attachment 172762 [details]
hwinfo --usb --log=hwinfo

Here is the hwinfo.
Comment 15 Felix Möller 2007-09-18 11:33:52 UTC
To keep this bug up-to-date:

The blog entry with the configuration I referred to in my initial comment moved to http://simon.vanderlinden.eu.org/howtos/macbook-emulate-a-synaptics-touchpad-with-ubuntu-gnulinux/  and the configuration changed a little ...

Section "InputDevice"
Identifier      "Synaptics Touchpad"
Driver          "synaptics"
Option          "SendCoreEvents"        "true"
Option          "Protocol"              "auto-dev"

Option          "SHMConfig"     "on"

Option          "LeftEdge"      "100"
Option          "RightEdge"     "1100"
Option          "TopEdge"       "50"
Option          "BottomEdge"    "300"

Option          "FingerLow"     "30"
Option          "FingerHigh"    "40"

Option          "MaxTapMove"    "100"

Option          "TapButton1"    "1"
Option          "TapButton2"    "3"
Option          "TapButton3"    "2"

Option          "MinSpeed"      "0.15"
Option          "MaxSpeed"      "0.90"
Option          "AccelFactor"   "0.10"

Option          "VertScrollDelta"       "25"
Option          "HorizScrollDelta"      "30"
EndSection

This configuration works better than the one from the original bug-report.
Comment 16 Felix Möller 2007-09-28 10:23:58 UTC
updating as this bug is still present.
Comment 17 Felix Möller 2007-12-16 23:40:04 UTC
As far as I can see this bug is still present. What is missing to get this solved?
Comment 18 Sergey - 2007-12-29 20:48:44 UTC
According to 
  http://www.michelem.org/2007/12/09/how-to-install-ubuntu-gutsy-on-a-macbook-31-generation/


Appletouch module needs this patch for Macbook 3.

  http://launchpadlibrarian.net/10335284/appletouch-add-macbook3-trackpad.patch

Checked by me for OpenSuSE 10.3 for kernel 2.6.22.13-0.3-default. 
Touchpad becomes working with warnings:

appletouch Geyser 3 inited.
input: appletouch as /class/input/input17
usbcore: registered new interface driver appletouch
appletouch: incomplete data package (first byte: 2, length: 4).

Comment 19 Steffen Winterfeldt 2008-03-04 14:51:12 UTC
Please try again (that is, attach 'hwinfo --mouse --log=foo') with alpha3
or with hwinfo >= 14.2 from Factory.
Comment 20 Felix Möller 2008-03-05 20:23:58 UTC
Created attachment 198927 [details]
hwinfo --mouse --log=foo

This is the output with hwinfo 14.3.
Comment 21 Steffen Winterfeldt 2008-03-13 10:50:01 UTC
I think hwinfo works nicely now. Back to Marcus.
Comment 22 Marcus Schaefer 2008-03-13 11:01:28 UTC
I have adapted the mapping table for this device
Comment 23 First Last 2008-05-04 15:14:21 UTC
Hardware: Intel MacBook, first generation (with Core Duo CPU)
openSUSE-Version: 11.0 Beta 2
Media: KDE4 Live-CD (not installed to hard drive)

Problem: There's no obvious way to trigger a right-click. 2 finger tap and 3 finger tap does not work. Driver used for the touchpad is called "Apple USB Mouse" instead of "Synaptic". Changing the driver to "Synaptic" and restarting X didn't rectify the problem.
Comment 24 First Last 2008-05-04 15:17:06 UTC
Test
Comment 25 Stefan Dirsch 2008-05-05 07:12:44 UTC
First Last, I think this is a different issue. Felix, could you give Beta2 a try to verify that the issue has been fixed for you? Then Last's issue can be handled seperately.
Comment 26 Felix Möller 2008-05-05 09:14:10 UTC
I would really like to verify it, but unfortunately SUSE has not been able to generate a xorg.conf see: bug #374101.
Comment 27 Marcus Schaefer 2008-05-05 13:27:31 UTC
I'm pretty sure

   init 3
   sax2 -a

creates a xorg.conf
Comment 28 Felix Möller 2008-05-05 14:58:07 UTC
Created attachment 212354 [details]
xorg.conf.sax080505

sax2 does indeed create one but an unusable one. (i.e. no keyboard) 

It has two mice configured with synaptics in it. One has no options and the other one has options way off. The coordinates of the edges are not close to what was suggested in this report. Therefore one third of the touchpad is scrolling area ...
Comment 29 Marcus Schaefer 2008-05-05 15:06:33 UTC

*** This bug has been marked as a duplicate of bug 374101 ***
Comment 30 Felix Möller 2008-05-08 18:10:48 UTC
I do not see how this is connected to bug #374101 . 

The problem is the wrong parameters in the xorg.conf for this touchpad. As far as I can see this information comes from /usr/share/sax/api/data/cdb/Pointers.

ALPS:Touchpad {
 Driver       = synaptics
 Device       = /dev/input/mice
 RawOption    = "SHMConfig" "on","Protocol" "auto-dev","LeftEdge" "120","RightEdge" "830","TopEdge" "120","BottomEdge" "650","FingerLow" "14","FingerHigh" "15","MaxTapTime" "180","MaxTapMove" "110","EmulateMidButtonTime" "75","VertScrollDelta" "20","HorizScrollDelta" "20","MinSpeed" "0.2","MaxSpeed" "0.5","AccelFactor" "0.01","EdgeMotionMinSpeed" "15","EdgeMotionMaxSpeed" "15","UpDownScrolling" "1","CircularScrolling" "1","CircScrollDelta" "0.1","CircScrollTrigger" "2"
 ZAxisMapping = 4 5
 Emulate3Buttons = on
}

Is this supposed to be adapted somewhere?

These options are about right:            |  But the default is:
================================================================
Option          "LeftEdge"      "100"     |  "LeftEdge" "120"
Option          "RightEdge"     "1100"    |  "RightEdge" "830"
Option          "TopEdge"       "50"      |  "TopEdge" "120"
Option          "BottomEdge"    "300"     |  "BottomEdge" "650"
Comment 31 Felix Möller 2008-05-30 16:29:18 UTC
Even with bug #374101 fixed, the options are still just the default ones. Therefore reopening.
Comment 32 Marcus Schaefer 2008-05-31 09:52:06 UTC
send me an InputDevice section which works for your and I will
update the profile. I don't have the hardware so I can't test
Comment 33 Felix Möller 2008-06-02 09:02:04 UTC
the options from comment #15 are still valid. 

However I am not sure about:
Option          "TapButton1"    "1"
Option          "TapButton2"    "3"
Option          "TapButton3"    "2"

What is the behaviour to right and double click on non-macbook hardware?

With the config from comment #15 I now have the following:
1 finger  -- left
2 fingers -- right
3 fingers -- double

You may adapt that section accordingly to SUSE defaults, otherwise it works fine.
Comment 34 Marcus Schaefer 2008-06-02 10:19:24 UTC
ok I have added the following patch

Index: profile/automatic/input/alps
===================================================================
--- profile/automatic/input/alps        (revision 1615)
+++ profile/automatic/input/alps        (working copy)
@@ -6,24 +6,27 @@
 InputDevice -> [X] -> Option -> ZAxisMapping         = 4 5
 InputDevice -> [X] -> Option -> Emulate3Buttons      = on
 InputDevice -> [X] -> Option -> SHMConfig            = on
+InputDevice -> [X] -> Option -> SendCoreEvents       = on
 InputDevice -> [X] -> Option -> Protocol             = auto-dev
-InputDevice -> [X] -> Option -> LeftEdge             = 120
-InputDevice -> [X] -> Option -> RightEdge            = 830
-InputDevice -> [X] -> Option -> TopEdge              = 120
-InputDevice -> [X] -> Option -> BottomEdge           = 650
-InputDevice -> [X] -> Option -> FingerLow            = 14
-InputDevice -> [X] -> Option -> FingerHigh           = 17
-InputDevice -> [X] -> Option -> MaxTapTime           = 180
-InputDevice -> [X] -> Option -> MaxTapMove           = 110
+InputDevice -> [X] -> Option -> LeftEdge             = 100
+InputDevice -> [X] -> Option -> RightEdge            = 1100
+InputDevice -> [X] -> Option -> TopEdge              = 50
+InputDevice -> [X] -> Option -> BottomEdge           = 300
+InputDevice -> [X] -> Option -> FingerLow            = 30
+InputDevice -> [X] -> Option -> FingerHigh           = 40
+InputDevice -> [X] -> Option -> MaxTapMove           = 100
 InputDevice -> [X] -> Option -> EmulateMidButtonTime = 75
-InputDevice -> [X] -> Option -> VertScrollDelta      = 20
-InputDevice -> [X] -> Option -> HorizScrollDelta     = 20
-InputDevice -> [X] -> Option -> MinSpeed             = 0.2
-InputDevice -> [X] -> Option -> MaxSpeed             = 3
-InputDevice -> [X] -> Option -> AccelFactor          = 0.1
+InputDevice -> [X] -> Option -> VertScrollDelta      = 25
+InputDevice -> [X] -> Option -> HorizScrollDelta     = 30
+InputDevice -> [X] -> Option -> MinSpeed             = 0.15
+InputDevice -> [X] -> Option -> MaxSpeed             = 0.90
+InputDevice -> [X] -> Option -> AccelFactor          = 0.10
 InputDevice -> [X] -> Option -> EdgeMotionMinSpeed   = 15
 InputDevice -> [X] -> Option -> EdgeMotionMaxSpeed   = 15
 InputDevice -> [X] -> Option -> UpDownScrolling      = 1
 InputDevice -> [X] -> Option -> CircularScrolling    = 1
 InputDevice -> [X] -> Option -> CircScrollDelta      = 0.1
 InputDevice -> [X] -> Option -> CircScrollTrigger    = 2
+InputDevice -> [X] -> Option -> TapButton1           = 1
+InputDevice -> [X] -> Option -> TapButton2           = 3
+InputDevice -> [X] -> Option -> TapButton3           = 2


Thanks