# Crazy Macbook Touchpad

## klessou

My touchpad doesn't work, 

When I put my finger on the touchpad, the cursor move Vertically.

When I click, the cursor move Horizontally.

And I have got this mistake :

(EE) Synaptics Touchpad no synaptics touchpad detected and no repeater device

(EE) Synaptics Touchpad Unable to query/initialize Synaptics hardware.

(EE) PreInit failed for input device "Synaptics Touchpad"

----------

## loopx

Check your device in /dev/input/eventX

My event1 has changed to event4   :Laughing: 

Now, it will work fine  :Wink: 

----------

## klessou

It doesn't work for me.

My xorg.conf

```

Section "InputDevice"

       Identifier      "Synaptics Touchpad"

       Driver          "synaptics"

       #Option          "CorePointer"

       #Option          "SendCoreEvents"        "true"

       #Option          "Device"                ""

       Option          "Device"                "/dev/input/mouse1

       #Option        "Device"        "/dev/input/appletouchpad"

       Option        "Protocol"      "/dev/input/event5"

       #Option          "Protocol"              "auto-dev"

       Option  "LeftEdge"      "100"

       Option  "RightEdge"     "1120"

       Option  "TopEdge"       "50"

       Option  "BottomEdge"    "310"

       Option  "FingerLow"     "25"

       Option  "FingerHigh"    "30"

       Option  "MaxTapTime"    "180"

       Option  "MaxTapMove"    "220"

       Option  "MaxDoubleTapTime"      "180"

       Option  "VertScrollDelta"       "20"

       Option  "HorizScrollDelta"      "50"

       Option  "MinSpeed"      "0.79"

       Option  "MaxSpeed"      "0.88"

       Option  "AccelFactor"   "0.0015"

       Option  "SHMConfig"     "on"

       #Option  "SHMConfig"     "true"

       Option "VertTwoFingerScroll" "1"

       Option "HorizTwoFingerScroll" "1"

       Option "TapButton2" "1"

       Option "TapButton2" "3"

       Option "TapButton3" "2"

EndSection
```

Now I have got this message :

```
(--) Synaptics Touchpad auto-dev sets device to /dev/input/event5

(**) Option "Device" "/dev/input/event5"

(--) Synaptics Touchpad touchpad found

(II) Configured Mouse: ps2EnableDataReporting: succeeded

ProcXCloseDevice to close or not ?
```

But the cursor doesn't move  :Sad: 

In my /dev/input :

```
ls -la /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard_._Trackpad-*

lrwxrwxrwx 1 root root 9 avr  2 13:01 /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard_._Trackpad-event-kbd -> ../event6

lrwxrwxrwx 1 root root 9 avr  2 13:01 /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard_._Trackpad-event-mouse -> ../event5

lrwxrwxrwx 1 root root 9 avr  2 13:01 /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard_._Trackpad-mouse -> ../mouse1
```

----------

## dtor

Just use protocol "auto-dev" and let the driver locate current event device.

----------

## klessou

I have got another mistake with usbhid :

```
modprobe usbhid 

FATAL: Error inserting usbhid (/lib/modules/2.6.21-rc5/kernel/drivers/usb/input/usbhid.ko): Unknown symbol in module, or unknown parameter (see dmesg)

FATAL: Error running install command for usbhid

```

dmesg :

```
usbhid: Unknown parameter `pb_fnmode'
```

----------

## dtor

You need to load appletouch module.

----------

## klessou

I think it's not the problem because :

```
# rmmod appletouch; rmmod usbhid; modprobe appletouch; sleep 2; modprobe usbhid --ignore-install pb_fnmode=2

FATAL: Error inserting usbhid (/lib/modules/2.6.21-rc5/kernel/drivers/usb/input/usbhid.ko): Unknown symbol in module, or unknown parameter (see dmesg)
```

When I change /etc/modules.d/touchpad like this :

```
install usbhid /sbin/modprobe appletouch && sleep 2 && /sbin/modprobe --ignore-install usbhid 

```

the touchpad works

But without pb_fnmode option :-/

----------

## dtor

pb_fnmode option was moved from usbhid module to hid module.

----------

## klessou

How to specifie this option into  /etc/modules.d/touchpad ?

----------

## dtor

Not sure about format of /etc/modules.d/touchpad but in /etc/modprobe.conf it goes like "options hid pb_fnmode=2". That's if hid is a module, otherwise add hid.pb_fnmode=2 to the kernel command line.

----------

## klessou

A good solution is also to add this line into local.start :

echo -n 0x02 > /sys/module/hid/parameters/pb_fnmode

----------

