Page 6 of 29 FirstFirst ... 4567816 ... LastLast
Results 51 to 60 of 287

Thread: [SOLVED] New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

  1. #51
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Quote Originally Posted by firewing1 View Post
    What version of synaptics are you using? I have 0.14.6 and it says "MultiFingerButton" isn't recognized
    Edit: Hm, I enabled tapping in xorg.conf by uncommenting the TapButton2/3 lines and it works now, but only with tapping enabled. Double-finger + button click doesn't produce a right-click but I believe this is a bug in synaptics, not your driver
    The synaptics version is 0.14.7~git20070706-mactel1, you need to add the mactel repositories to get it via the package manager.

    Quote Originally Posted by firewing1 View Post
    For the swiping, a triple finger "swipe" (really just a left/right movement) moves back/forward in Firefox or the file browser. Apple also has a rotate gesture for pictures which is pretty neat.
    Ok - then you only need to enable horizontal scroll in xorg.conf and in your trackpad configuration (System/Preferences/Touchpad)

    I believe there is (at least experimental) support for rotation in the synaptics driver, something to think about...

    Quote Originally Posted by firewing1 View Post
    I have a technical question - is the finger detection done in synaptics or the actual kernel module? One thing I've noticed is two-finger taps don't always scroll (the mouse just jumps across the screen like on older laptops when you have one finger down and put another on the trackpad).

    It's tricky reproducing it, but one way I found that works most of the time is to put one finger on the trackpad, start moving it and then try to scroll up/down by adding a second finger. synclient shows that two fingers are detected which is odd...
    The finger detection is done in the driver.
    Indeed, I have noticed one or two other things like this. It is my intention to see what can be done about it.
    Last edited by kosumi68; June 30th, 2008 at 07:47 PM.

  2. #52
    Join Date
    Jun 2008
    Location
    Canada
    Beans
    28

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Excellent, let me know if need any help... I'm still learning my way around programming kernel modules, but I'll offer any help I can.

    Hm, your driver seems to have the same problem as mine as well - the mouse moves across the screen just by touching various parts of the touchpad. Try for example starting on the top-left side of the touchpad, make 5 taps downwards to reach the bottom-left corner then make 10 taps to get to the bottom right corner. In my case the tapping still works, but the mouse jumped across 1/2 the screen. Maybe this is what's causing the double-finger scroll to fail? I've noticed that typically when it the scroll doesn't happen the mouse jumps.

    Edit: In the code from touchd that mapped out x/y coordinates, I printed out the value of the two separate numbers that were added and I found that one seems to be the value of a large sensor - its value is in multiple of 256. The other one seems to be a more precise sensor with a limit of roughly 100. So touching either side of an area which was the limit of the large sensor would result in a jump of 156x156 (0+100 vs 256+0)... /me thinks there might be a third sensor that's not being taken accounted for.

    Firewing1.
    Last edited by firewing1; June 30th, 2008 at 07:54 PM.

  3. #53
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    firewing, could you please check that you are running precisely the synaptics settings found here http://web.comhem.se/rydberg/Bits/xorg-settings.html and see if the problem you describe persists? I tried it and it was very smooth.

    You can check the bcm5974.c source to see my current observations regarding the device sensors.

  4. #54
    Join Date
    Jun 2008
    Location
    Canada
    Beans
    28

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Quote Originally Posted by kosumi68 View Post
    firewing, could you please check that you are running precisely the synaptics settings found here http://web.comhem.se/rydberg/Bits/xorg-settings.html and see if the problem you describe persists? I tried it and it was very smooth.

    You can check the bcm5974.c source to see my current observations regarding the device sensors.
    I redid my Xorg settings and it still happens

    I'm going to try to get myself a git build of synaptics to see if it helps...
    Edit: Hm, how many inputs does your Xorg log show? My logs show 4 "mouse" inputs, maybe this is the cause of the problem?
    Code:
    (II) XINPUT: Adding extended input device "<default pointer>" (type: MOUSE)
    (II) XINPUT: Adding extended input device "Synaptics Touchpad" (type: MOUSE)
    (II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
    (II) XINPUT: Adding extended input device "HID 05ac:820b" (type: MOUSE)
    firewing1
    Last edited by firewing1; June 30th, 2008 at 08:28 PM.

  5. #55
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    (II) XINPUT: Adding extended input device "HID 05ac:820b" (type: MOUSE)
    Wow, this is the first time is see this one attached to anything... I have noticed that usbhid detects it, but thought of it as some not-used interface.

    You could try disabling it altogether, try adding this quirk in /etc/modprobe.d/options (or append to your existing ones):

    Code:
    options usbhid quirks=05ac:820b:0x00000004
    This will ignore the device altogether.

    UPDATE: a simpler way might be to comment out all devices but the synaptics driver in the ServerLayout section of xorg.conf.
    Last edited by kosumi68; June 30th, 2008 at 08:52 PM.

  6. #56
    Join Date
    Jun 2008
    Location
    Canada
    Beans
    28

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Quote Originally Posted by kosumi68 View Post
    Wow, this is the first time is see this one attached to anything... I have noticed that usbhid detects it, but thought of it as some not-used interface.

    You could try disabling it altogether, try adding this quirk in /etc/modprobe.d/options (or append to your existing ones):

    Code:
    options usbhid quirks=05ac:820b:0x00000004
    This will ignore the device altogether.

    UPDATE: a simpler way might be to comment out all devices but the synaptics driver in the ServerLayout section of xorg.conf.
    Thanks, I'll give that a try. I thing this might have something to do with Fedora 9's very recent Xorg version - It uses a 1.5 pre-release which would explain why you've never seen this happen before. I'll post back with the results ^_^

    BTW - Since the problem seems to be fedora-specific now, I can create a thread on fedoraforum if you'd like. I posted here because that was the link from the touchd mailing list

  7. #57
    Join Date
    Jun 2008
    Location
    Canada
    Beans
    28

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Quote Originally Posted by kosumi68 View Post
    Wow, this is the first time is see this one attached to anything... I have noticed that usbhid detects it, but thought of it as some not-used interface.

    You could try disabling it altogether, try adding this quirk in /etc/modprobe.d/options (or append to your existing ones):

    Code:
    options usbhid quirks=05ac:820b:0x00000004
    This will ignore the device altogether.

    UPDATE: a simpler way might be to comment out all devices but the synaptics driver in the ServerLayout section of xorg.conf.
    Interesting, it seems synaptics was ignoring the settings in xorg.conf - I used a shell script to read them and parse them using synclient, now the jumpyness is gone. Not sure if it was the settings or the extra input.

    Either way, heads up for when ubuntu updates to Xorg server v1.5 - Synaptics settings in xorg.conf might break

    Thanks for your help.
    Last edited by firewing1; June 30th, 2008 at 09:29 PM. Reason: Typo

  8. #58
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Firewing, great! That makes it 2 MBAs and 4 Penryns reported so far. Thanks to all of you for reporting details and tips, what a wonderfully parallel testing environment this is!

  9. #59
    Join Date
    Apr 2006
    Beans
    Hidden!

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Hey Kosumi,

    So I got the touchpad to work exactly as I wanted. One thing though ... now my usb mouse doesn't respond when plugged in. It's sending data to /dev/input/mice but something about the conf isn't recognizing it. Right now I'm just commenting out between "Configured Mouse" and "Synaptics Touchpad" in ServerLayout. Am I missing something?

    Code:
    # xorg.conf (X.Org X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the xorg.conf manual page.
    # (Type "man xorg.conf" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following command:
    #   sudo dpkg-reconfigure -phigh xserver-xorg
    
    Section "InputDevice"
    	Identifier	"Generic Keyboard"
    	Driver		"kbd"
    	Option		"XkbRules"	"xorg"
    	Option		"XkbModel"	"pc105"
    	Option		"XkbLayout"	"us"
    EndSection
    
    Section "InputDevice"
    	Identifier	"Configured Mouse"
    	Driver		"mouse"
    	Option		"CorePointer"
    EndSection
    
    Section "InputDevice"
    	Identifier	"Synaptics Touchpad"
    	Driver		"synaptics"
    	Option		"SendCoreEvents"	"true"
    	Option		"Device"		"/dev/input/mice"
    	Option		"Protocol"		"auto-dev"
    	Option		"CorePointer"
    
            # exclusive grabbing of device
            Option		"GrabEventDevice"	"1"
    
            # simulate right button
            Option		"MultiFingerButton"	"2"
    
            # not using edge scrolling
            Option          "HorizEdgeScroll"       "0"
            Option          "VertEdgeScroll"        "0"
    
            # use two finger scrolling
            Option          "VertTwoFingerScroll"   "1"
            Option          "HorizTwoFingerScroll"  "1" 
    
            # set to 0 if you don't want horizontal scrolling
            # scroll speed, lower is faster
            Option          "HorizScrollDelta"      "0"
            Option          "VertScrollDelta"       "40"
    
            # minimum pressure motion factor
            Option          "PressureMotionMinZ"    "10"
    
            # touch and untouch thresholds, higher numbers
            # if you like to push hard, change to 30 or 40
            Option          "FingerLow"             "16"
            Option          "FingerHigh"            "23"
            Option          "FingerPress"           "256"
    
            # palm detect
            Option          "PalmDetect"             "0"
            Option          "PalmMinWidth"           "180"
            Option          "PalmMinZ"               "10"  
    
            # borders based on output from synclient
            # controls the edge scrolling
            # turned off by specifing the exact size /henrik
            Option          "LeftEdge"              "0"
            Option          "RightEdge"             "1280"
            Option          "TopEdge"               "0"
            Option          "BottomEdge"            "800"
    
            # speeds, smaller number for a slower mouse
            Option          "MinSpeed"              "0.8"
            # 0.5 is very slow, 1.5 is very fast
            Option          "MaxSpeed"              "1.2"
            # up to 1.5 works ok
            Option          "AccelFactor"           "0.10"
    
            # tap times, change to suit your tapping habits
            Option          "MaxTapMove"            "100"
            Option          "MaxTapTime"            "223"
            Option          "MaxDoubleTapTime"      "200"
            
            # don't change these or two finger tap stops working
            #Option          "TapButton2"            "3"
            #Option          "TapButton3"            "2"
            Option          "TapButton2"             "0"
            Option          "TapButton3"             "0"
    
            # must be commented out or normal tapping wont work
            Option          "TapButton1"             "0"
    
            # not using corner buttons
            Option          "RTCornerButton"         "0"
            Option          "RBCornerButton"         "0"
            Option          "LTCornerButton"         "0"
            Option          "LBCornerButton"         "0"  
    
            # needed for disabled while typing fix  
            Option          "SHMConfig"              "true"
    
    EndSection
    
    
    Section "Device"
    	Identifier	"Configured Video Device"
    EndSection
    
    Section "Monitor"
    	Identifier	"Configured Monitor"
    EndSection
    
    Section "Screen"
    	Identifier	"Default Screen"
    	Monitor		"Configured Monitor"
    	Device		"Configured Video Device"
    EndSection
    
    Section "ServerLayout"
    	Identifier	"Default Layout"
    	Screen		"Default Screen"
    	#InputDevice	"Synaptics Touchpad"
    	InputDevice	"Configured Mouse"
    EndSection

  10. #60
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Yeah, I realized this myself earlier today - you need to comment out the CorePointer line of the synaptics configuration, then you should get both the mouse and trackpad events.

    PS. The option is there for "historical reasons" - I will comment it out in the file on the webpage. Thanks for pointing it out! DS.
    Last edited by kosumi68; June 30th, 2008 at 10:15 PM.

Page 6 of 29 FirstFirst ... 4567816 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •