Re: new xf86-input for macbooks and other multitouch-touchpads.
Thank you for the thorough answers!
Quote:
Originally Posted by
finy
the important part is, that the cursor does not move if you click with a finger, but does move if you slide your finger away.
I looked at this a bit; subtle and quite tricky. Solvable, but don't hold your breath. :-)
Meanwhile, I have uploaded some bug fixes to git master. Here is the list since v1.0-alpha2:
Henrik Rydberg (10):
janitor: Use more common row/column names
Reset accumulated movement at finger configuration change
Unify detection of finger configuration changes
Reset scroll state on finger configuration change
Correctly report zero fingers
Do not reuse tracking ids after a no-touch event
Make all movement computations work on pointing subset
Filter non-zero finger width events
Hold MT data during pure button events
Only emit multi-finger button events for real button events
Cheers!
Re: new xf86-input for macbooks and other multitouch-touchpads.
Hey guys,
I'm having trouble installing this driver.
- I have the bcm5974-dkms package from the mactel repo
- I got the source by doing: git clone http://bitmath.org/git/multitouch.git
- I installed xserver-xorg-dev and then did make, make install from the multitouch directory
- I pasted the "InputClass" section from this thread into my xorg.conf
When I reboot the computer I get an error that my xorg.conf is not parseable because InputClass and MatchIsTouchpad are not valid keywords... if I remove the line, it parses properly but the multitouch driver isn't loaded, it seems to ignore the InputClass section.
My PC is a MacBook Pro 5,5 and I'm running Lucid beta 2 (with updates as of tonight).
Any advice?
Re: new xf86-input for macbooks and other multitouch-touchpads.
OK it seems that moving the InputClass section to the bottom of my xorg.conf got it to load, but it still doesn't work. The module is unloading and I'm seeing a "can't grab device" error. Here's a snippet from my Xorg.0.log:
Code:
(II) config/udev: Adding input device bcm5974 (/dev/input/event5)
(**) bcm5974: Applying InputClass "evdev touchpad catchall"
(**) bcm5974: Applying InputClass "touchpad catchall"
(**) bcm5974: Applying InputClass "Multitouch Touchpad"
(II) LoadModule: "multitouch"
(II) Loading /usr/lib/xorg/modules/input/multitouch.so
(II) Module multitouch: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 0.1.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 7.0
(**) bcm5974: always reports core events
(II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
(II) device control: init
(**) Option "Device" "/dev/input/event5"
(II) multitouch: devname: bcm5974
(II) multitouch: devid: 5ac 236 1
(II) multitouch: caps: left mtdata ibt touch_major touch_minor width_major width_minor orientation position_x position_y
(II) multitouch: touch: 0 2048
(II) multitouch: width: 0 2048
(II) multitouch: orientation: -16384 16384
(II) multitouch: position_x: -4460 5166
(II) multitouch: position_y: -75 6700
(II) pointer_control
(**) bcm5974: (accel) keeping acceleration scheme 1
(**) bcm5974: (accel) acceleration profile 0
(II) pointer_control
(**) bcm5974: (accel) acceleration factor: 2.000
(**) bcm5974: (accel) acceleration threshold: 4
(II) device control: on
(EE) multitouch: cannot grab device
[dix] couldn't enable device 11
(EE) Couldn't init device "bcm5974"
(II) UnloadModule: "multitouch"
(II) config/udev: Adding input device bcm5974 (/dev/input/mouse1)
(**) bcm5974: Applying InputClass "Multitouch Touchpad"
(**) bcm5974: always reports core events
(II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
(II) device control: init
(**) Option "Device" "/dev/input/mouse1"
(EE) multitouch: cannot configure device
(EE) Couldn't init device "bcm5974"
(II) UnloadModule: "multitouch"
I still have the synaptics section in my xorg.conf. Should it be there? Can someone show me their working xorg.conf? I've also tried blacklisting usbhid and then adding bcm5974 and usbhid into /etc/modules without effect.
Re: new xf86-input for macbooks and other multitouch-touchpads.
Hi Taoye,
thanks for providing the log output. It seems the multitouch driver fails to grab the device, suggesting some other device grabbed it first. Since you say you already have synaptics loaded, that is most likely the problem. Simply remove the synaptics section and you might be ok.
Re: new xf86-input for macbooks and other multitouch-touchpads.
Hey, thanks for the reply, I also tried that. When I boot without the synaptics section I see the following slightly different output in Xorg.0.log:
Code:
(II) config/udev: Adding input device bcm5974 (/dev/input/event6)
(**) bcm5974: Applying InputClass "evdev touchpad catchall"
(**) bcm5974: Applying InputClass "touchpad catchall"
(**) bcm5974: Applying InputClass "Multitouch Touchpad"
(II) LoadModule: "multitouch"
(II) Loading /usr/lib/xorg/modules/input/multitouch.so
(II) Module multitouch: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 0.1.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 7.0
(**) bcm5974: always reports core events
(II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
(II) device control: init
(**) Option "Device" "/dev/input/event6"
(II) multitouch: devname: bcm5974
(II) multitouch: devid: 5ac 236 1
(II) multitouch: caps: left mtdata ibt touch_major touch_minor width_major width_minor orientation position_x position_y
(II) multitouch: touch: 0 2048
(II) multitouch: width: 0 2048
(II) multitouch: orientation: -16384 16384
(II) multitouch: position_x: -4460 5166
(II) multitouch: position_y: -75 6700
(II) pointer_control
(**) bcm5974: (accel) keeping acceleration scheme 1
(**) bcm5974: (accel) acceleration profile 0
(II) pointer_control
(**) bcm5974: (accel) acceleration factor: 2.000
(**) bcm5974: (accel) acceleration threshold: 4
(II) device control: on
(II) pointer_property
(II) pointer_property
(II) config/udev: Adding input device bcm5974 (/dev/input/mouse1)
(**) bcm5974: Applying InputClass "Multitouch Touchpad"
(**) bcm5974: always reports core events
(II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)
(II) device control: init
(**) Option "Device" "/dev/input/mouse1"
(EE) multitouch: cannot configure device
(EE) Couldn't init device "bcm5974"
(II) UnloadModule: "multitouch"
Doing it this way, I still have keyboard and touchpad working but only basic functionality. It seems to succeed at grabbing the event device but it fails after the mouse1 part.
Re: new xf86-input for macbooks and other multitouch-touchpads.
The device gets loaded twice, once as an event device (correct), and once as a mouse (incorrect):
Code:
(II) config/udev: Adding input device bcm5974 (/dev/input/mouse1)
Since the udev config is all new, I do not know how to remedy this problem (I am running karmic still), but ignoring the mouse should be possible, either at the udev level or xorg level.
Re: new xf86-input for macbooks and other multitouch-touchpads.
OK thanks, I'll see if I can figure that out.
Has somebody else gotten it working in Lucid? How have you configured it?
Re: new xf86-input for macbooks and other multitouch-touchpads.
hello,
i installed xserver-xorg-dev, fetched the code from git and installed by make && sudo make install. also, i added the karmic ppa and installed bcm5974-dkms.
my xorg.conf looks like this:
Code:
Section "Screen"
Identifier "Default Screen"
DefaultDepth 24
EndSection
Section "Module"
Load "glx"
EndSection
Section "Device"
Identifier "Default Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
Section "InputClass"
MatchIsTouchpad "true"
Identifier "Multitouch Touchpad"
Driver "multitouch"
EndSection