Macbook Pro Touchpad Multitouch Issues

2014 era macbook pro retina. I hate OSX and would really like to get back to SUSE but I can’t for the life of me get the touchpad working with SUSE 42.1 (kernel 4.1.34-33-default).

The touchpad works to move the cursor and also registers left clicks but that is all. No right click. No 2 finger scroll. Honestly if I could just get those things I don’t need all the other multitouch features. Just scroll and right click.

System Settings → Input Devices → Touchpad has a big red banner across the top that says “No touchpad found”. Synaptics packages/drivers are installed.

Please help!

Welcome to openSUSE forums. You mention that you have the synaptics driver installed, but it would be a good idea to see how the device is being handled by Xorg. You can get that info using

grep "Using input driver" /var/log/Xorg.0.log

Also, the following could be useful as well…

xinput
/usr/sbin/hwinfo --mouse

Hello, I have the same issue…
the output is following:


root@lykhouzov:/home/alykhouzov # grep "Using input driver" /var/log/Xorg.0.log
     6.006] (II) **Using input driver** 'evdev' for 'Power Button'
     6.007] (II) **Using input driver** 'evdev' for 'Video Bus'
     6.007] (II) **Using input driver** 'evdev' for 'Power Button'
     6.008] (II) **Using input driver** 'evdev' for 'Sleep Button'
    45.853] (II) **Using input driver** 'evdev' for 'Lenovo Ultraslim Plus Wireless Keyboard & Mouse'
    45.855] (II) **Using input driver** 'evdev' for 'Lenovo Ultraslim Plus Wireless Keyboard & Mouse'
    45.991] (II) **Using input driver** 'evdev' for 'Broadcom Corp. Bluetooth USB Host Controller'
    46.030] (II) **Using input driver** 'evdev' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
    46.084] (II) **Using input driver** 'evdev' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
    46.085] (II) **Using input driver** 'evdev' for 'Broadcom Corp. Bluetooth USB Host Controller'

root@lykhouzov:/home/alykhouzov # /usr/sbin/hwinfo --mouse
37: USB 00.1: 10503 USB Mouse                                    
  [Created at usb.122]
  Unique ID: 3X50.Mui3YbzI1h2
  Parent ID: k4bc.2DFUsyrieMD
  SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1
  SysFS BusID: 1-2:1.1
  Hardware Class: mouse
  Model: "Lenovo Ultraslim Plus Wireless Keyboard & Mouse"
  Hotplug: USB
  Vendor: usb 0x17ef "Lenovo"
  Device: usb 0x6022 "Lenovo Ultraslim Plus Wireless Keyboard & Mouse"
  Revision: "2.30"
  Compatible to: int 0x0210 0x0035
  Driver: "usbhid"
  Driver Modules: "usbhid"
  Device File: /dev/input/mice (/dev/input/mouse0)
  Device Files: /dev/input/mice, /dev/input/mouse0, /dev/input/event13, /dev/input/by-id/usb-17ef_Lenovo_Ultraslim_Plus_Wireless_Keyboard___Mouse-if01-event-mouse, /dev/input/by-path/pci-00
00:00:14.0-usb-0:2:1.1-event-mouse, /dev/input/by-id/usb-17ef_Lenovo_Ultraslim_Plus_Wireless_Keyboard___Mouse-if01-mouse, /dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.1-mouse
  Device Number: char 13:63 (char 13:32)
  Speed: 12 Mbps
  Module Alias: "usb:v17EFp6022d0230dc00dsc00dp00ic03isc01ip02in01"
  Driver Info #0:
    Buttons: 5
    Wheels: 3
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #35 (Hub)

46: USB 00.2: 10503 USB Mouse
  [Created at usb.122]
  Unique ID: q5Ea.pXsjc7SJJE6
  Parent ID: k4bc.2DFUsyrieMD
  SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2
  SysFS BusID: 1-5:1.2
  Hardware Class: mouse
  Model: "Apple Internal Keyboard / Trackpad"
  Hotplug: USB
  Vendor: usb 0x05ac "Apple, Inc."
  Device: usb 0x0273 "Apple Internal Keyboard / Trackpad"
  Revision: "6.22"
  Serial ID: "D3H6096B8V1FTV3AX4FF"
  Compatible to: int 0x0210 0x0003
  Driver: "usbhid"
  Driver Modules: "usbhid"
  Device File: /dev/input/mice (/dev/input/mouse2)
  Device Files: /dev/input/mice, /dev/input/mouse2, /dev/input/event17, /dev/input/by-id/usb-Apple_Inc._Apple_Internal_Keyboard___Trackpad_D3H6096B8V1FTV3AX4FF-if02-event-mouse, /dev/input/
by-path/pci-0000:00:14.0-usb-0:5:1.2-event-mouse, /dev/input/by-id/usb-Apple_Inc._Apple_Internal_Keyboard___Trackpad_D3H6096B8V1FTV3AX4FF-if02-mouse, /dev/input/by-path/pci-0000:00:14.0-usb
-0:5:1.2-mouse
  Device Number: char 13:63 (char 13:34)
  Speed: 12 Mbps
  Module Alias: "usb:v05ACp0273d0622dc00dsc00dp00ic03isc01ip02in02"
  Driver Info #0:
    Buttons: 3
    Wheels: 0
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #35 (Hub)

root@lykhouzov:/home/alykhouzov # xinput
Unable to connect to X server



I am sorry,
I’ve tried xinut under root and it’s my fault.
there is xinut from a user


**» ~ **** $ **xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Apple Inc. Apple Internal Keyboard / Trackpad     id=11   [slave  pointer  (2)]
⎜   ↳ Lenovo Ultraslim Plus Wireless Keyboard & Mouse   id=12   [slave  pointer  (2)]
⎜   ↳ Broadcom Corp. Bluetooth USB Host Controller      id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Apple Inc. Apple Internal Keyboard / Trackpad     id=10   [slave  keyboard (3)]
    ↳ Lenovo Ultraslim Plus Wireless Keyboard & Mouse   id=13   [slave  keyboard (3)]
    ↳ Broadcom Corp. Bluetooth USB Host Controller      id=14   [slave  keyboard (3)]


So, any thoughts how i could enable at leas scrolling and right click?

I don’t own a MacBook so can only offer general advice here, but you might find that using the synaptics Xorg driver will help provide more touchpad functionality here. The package that provides that is called ‘xf86-input-synaptics’. Once installed and the X-server restarted, it should take effect. It may also be necessary to add a custom config file in /etc/X11/xorg.conf.d/ to get the touchpad behaviour you desire.

Thank you reply.
i have already installed that driver when i made these checkes


root@lykhouzov:~ # zypper info xf86-input-synaptics
Loading repository data...
Reading installed packages...




Information for package xf86-input-synaptics:
---------------------------------------------
Repository: X.Org development (openSUSE_Leap_42.1)
Name: xf86-input-synaptics
Version: 1.9.0-68.2
Arch: x86_64
Vendor: obs://build.opensuse.org/X11
Installed: Yes
Status: out-of-date (version 1.8.3-66.2 installed)
Installed Size: 123.5 KiB
Summary: Synaptics touchpad input driver for the Xorg X server
Description: 
  synaptics is an Xorg input driver for touchpads.
  
  Even though touchpads can be handled by the normal evdev or mouse
  drivers, this driver allows more advanced features of the touchpad to
  become available.

Also, i was trying to apply some configs form http://mac.linux.be/content/opensuse-macbook#Touchpad this url.
But it looks like it doesn’t help.

I will try play with such configs but since i am not so familiar with configuring x server at all, i am not sure that i will get luck:)
but who know.

Thank you one more time, and maybe you can give some another advice : where to look at or read maybe.

If the Xorg.0.log shows that the evdev driver is in use (despite the synaptics package being installed), then it is likely that the touchpad is not recognised as a synaptics device ie not compatible with it. It will take precedence over evdev when both available for devices it is capable of supporting.

You should also know that libinput is gradually being developed to handle the majority of input devices directly (replacing the evdev and syaptics drivers). You could try installing the ‘xf86-input-libinput’ package to see whether it provides a better experience than the evdev driver. (If it doesn’t, you can remove it again and restart the X-server.)

It is work in progress so not all touchpads are able to be configured as desired. In some cases, bug reports will be required.

http://blog.jimbasilio.me/2015/10/libinput-and-ubuntu-15-10/

Hopefully, others using similar Mac Pro hardware can advise further.

.
Thank you for the answer.
i’ve installed libinput. and it looks like system uses it


   926.264] (II) config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/event16)
   926.264] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev keyboard catchall"
   926.264] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "system-keyboard"
   926.264] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev keyboard catchall"
   926.264] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "libinput keyboard catchall"
   926.264] (II) Using input driver 'libinput' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
   926.264] (**) Apple Inc. Apple Internal Keyboard / Trackpad: always reports core events
   926.264] (**) Option "Device" "/dev/input/event16"
   926.264] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event16 is tagged by udev as: Keyboard
   926.264] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event16 is a keyboard
   926.276] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.1/0003:05AC:0273.0006/input/input16/event16"
   926.276] (II) XINPUT: Adding extended input device "Apple Inc. Apple Internal Keyboard / Trackpad" (type: KEYBOARD, id 14)
   926.276] (**) Option "xkb_layout" "us"
   926.276] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event16 is tagged by udev as: Keyboard
   926.276] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event16 is a keyboard
   926.277] (II) config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/event17)
   926.277] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev pointer catchall"
   926.277] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "evdev pointer catchall"
   926.277] (**) Apple Inc. Apple Internal Keyboard / Trackpad: Applying InputClass "libinput pointer catchall"
   926.277] (II) Using input driver 'libinput' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
   926.277] (**) Apple Inc. Apple Internal Keyboard / Trackpad: always reports core events
   926.277] (**) Option "Device" "/dev/input/event17"
   926.332] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event17 is tagged by udev as: Mouse
   926.332] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event17 is a pointer caps
   926.344] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/0003:05AC:0273.0007/input/input17/event17"
   926.344] (II) XINPUT: Adding extended input device "Apple Inc. Apple Internal Keyboard / Trackpad" (type: MOUSE, id 15)
   926.344] (**) Option "AccelerationScheme" "none"
   926.344] (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) selected scheme none/0
   926.344] (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) acceleration factor: 2.000
   926.344] (**) Apple Inc. Apple Internal Keyboard / Trackpad: (accel) acceleration threshold: 4
   926.400] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event17 is tagged by udev as: Mouse
   926.400] (II) input device 'Apple Inc. Apple Internal Keyboard / Trackpad', /dev/input/event17 is a pointer caps
   926.400] (II) config/udev: Adding input device Apple Inc. Apple Internal Keyboard / Trackpad (/dev/input/mouse2)
   926.400] (II) No input driver specified, ignoring this device.
   926.400] (II) This device may have been added with another device file.
   926.400] (II) config/udev: Adding input device HDA Intel PCH Mic (/dev/input/event11)
   926.400] (II) No input driver specified, ignoring this device.
   926.400] (II) This device may have been added with another device file.
   926.401] (II) config/udev: Adding input device HDA Intel PCH Headphone (/dev/input/event12)
   926.401] (II) No input driver specified, ignoring this device.
   926.401] (II) This device may have been added with another device file.
   926.401] (II) config/udev: Adding input device HDA Intel PCH SPDIF (/dev/input/event13)
   926.401] (II) No input driver specified, ignoring this device.
   926.401] (II) This device may have been added with another device file.
   926.401] (II) config/udev: Adding input device PC Speaker (/dev/input/event7)
   926.401] (II) No input driver specified, ignoring this device.
   926.401] (II) This device may have been added with another device file.
   928.024] (II) intel(0): EDID vendor "APP", prod id 41002
   928.024] (II) intel(0): Printing DDC gathered Modelines:
   928.024] (II) intel(0): Modeline "2560x1600"x0.0  268.50  2560 2608 2640 2720  1600 1603 1609 1646 +hsync -vsync (98.7 kHz eP)
   931.743] (II) intel(0): resizing framebuffer to 2560x1980
   931.767] (II) intel(0): switch to mode 1400x900@60.0 on eDP1 using pipe 0, position (260, 1080), rotation normal, reflection none
   933.188] (II) intel(0): switch to mode 1920x1080@60.0 on HDMI2 using pipe 1, position (0, 0), rotation normal, reflection none
   933.237] (II) intel(0): resizing framebuffer to 1920x1980


But unfortunately nothing changed. I mean that trackpad still has only left button.
so, will continue investigation.
Have a nice day.

For more info about configuring libinput, read the following…

https://wiki.archlinux.org/index.php/Libinput#Common_options

and also the man page for libinput

man libinput

The default Apple touchpad behaviour is described here (Clickfinger behaviour)
https://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html#clickfinger

.
Thank you.
this is what i’ve found too…just need to find a time to read that all and play with config

So, finally i can say that at least scroll is working…
but i had to upgrade my leap 42.1 to 42.2 for that, because by accident i’ve removed all input drivers:)

So, new KDE recognized touchpad, i can configure it.
Thank you for help, all of you.

PS: and i would say more: now my FN button is working, it looks like 42.2 has good updates at least for macbook pro devices.

Good to know that scrolling is working, and a bonus with Fn buttons working. Can you post your working touchpad config (just in case some other MacBook Pro users come searching)?

BTW, did you try experimenting with the ‘ClickMethod’ option?

Option "ClickMethod" "string"
              Enables a click method. Permitted values are none, buttonareas, clickfinger.  Not all devices support all methods, if an option
              is unsupported, the default click method for this device is used.

I was just curious to know if the ‘buttonareas’ value worked with your touchpad.

Actually i did play with system config. i just upgraded suse from 42.1 to 42.2 and KDE allows me modify config by GUI.
but yes. there is config which my system uses

/etc/X11/xorg.conf.d/60-libinput.conf


# Match on all types of devices but tablet devices and joysticks
Section "InputClass"
        Identifier"libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver"libinput"
EndSection

Section "InputClass"
        Identifier"libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver"libinput"
EndSection

Section "InputClass"
        Identifier"libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver"libinput"
        Option"Tapping" "On"
EndSection

Section "InputClass"
        Identifier"libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver"libinput"
EndSection


**/etc/X11/xorg.conf.d/70-synaptics.conf
**

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
        Identifier"touchpad catchall"
        Driver"synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
        MatchDevicePath "/dev/input/event*"
        Option"HorizEdgeScroll" "off"
# enable tap-to-click as default (bnc#722457)
        Option"TapButton1" "1"
        Option"TapButton3" "2"
        Option"TapButton2" "3"
EndSection

Section "InputClass"
        Identifier"touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option"Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier"Default clickpad buttons"
        MatchDriver "synaptics"
        Option"SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
        Option"SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier"Disable clickpad buttonson Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option"SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection



**» ~ **** $ **xinput && grep "Using input driver" /var/log/Xorg.0.log      
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lenovo Ultraslim Plus Wireless Keyboard & Mouse   id=11   [slave  pointer  (2)]
⎜   ↳ Broadcom Corp. Bluetooth USB Host Controller      id=13   [slave  pointer  (2)]
⎜   ↳ bcm5974                                   id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Lenovo Ultraslim Plus Wireless Keyboard & Mouse   id=10   [slave  keyboard (3)]
    ↳ Broadcom Corp. Bluetooth USB Host Controller      id=12   [slave  keyboard (3)]
    ↳ Apple Inc. Apple Internal Keyboard / Trackpad     id=14   [slave  keyboard (3)]
    ↳ Lenovo Ultraslim Plus Wireless Keyboard & Mouse   id=16   [slave  keyboard (3)]
  6480.116] (II) **Using input driver** 'libinput' for 'Power Button'
  6480.144] (II) **Using input driver** 'libinput' for 'Video Bus'
  6480.160] (II) **Using input driver** 'libinput' for 'Power Button'
  6480.176] (II) **Using input driver** 'libinput' for 'Sleep Button'
  6480.189] (II) **Using input driver** 'libinput' for 'Lenovo Ultraslim Plus Wireless Keyboard & Mouse'
  6480.245] (II) **Using input driver** 'libinput' for 'Lenovo Ultraslim Plus Wireless Keyboard & Mouse'
  6480.269] (II) **Using input driver** 'libinput' for 'Broadcom Corp. Bluetooth USB Host Controller'
  6480.320] (II) **Using input driver** 'libinput' for 'Broadcom Corp. Bluetooth USB Host Controller'
  6480.457] (II) **Using input driver** 'libinput' for 'Apple Inc. Apple Internal Keyboard / Trackpad'
  6480.481] (II) **Using input driver** 'synaptics' for 'bcm5974'
  6480.607] (II) **Using input driver** 'libinput' for 'Lenovo Ultraslim Plus Wireless Keyboard & Mouse'
**» ~ **** $ **uname -r
4.4.27-2-default
**»**** ~ **** $ **kded5 --version
kded5 5.26.0
**» ~ **** $ **plasmashell --version
plasmashell 5.8.3

That appears to be the default catchall configuration file for libinput. I’d assumed you’d created a custom Xorg configuration file. The KDE config utility doesn’t modify Xorg configuration. The synaptics config file is irrelevant when using libinput.

Hi
FWIW on my MackBook3,1 it defaults to two-finger tap for right-click no synaptics package installed, no manual intervention. This is the GNOME DE.

Thanks Malcolm. That’s consistent with what I’ve read about MacBook touchpads and libinput.

.
Yes, it looks like default config. as i said, i just upgrade OS to 42.2 version.
and after that i am able to modify touchpad config from KDE settings (GUI).

I am not so experienced to say what exactly help me, it could be kernel update or libinput package update or both or something else was removed.

If i could, i would help, just don;t know where to look at…

PS: it looks like keyboard works with full functional, i mean all keymaps pretty the same as in Mac OS. and i am happy:)