# Macbook Aluminium touchpad management and evdev/synaptics

## Arthanis

Im quite confusing here about apple touchpad drivers and evdev. I have emrged evdev drivers, and also have bcm5974 kernel module, which is the one that makes my touchpad work (disabling it makes it not work). I would like to be able to configure some options, like "touchpad click" or horizontal scrolling. I tried to follow evdev/synaptic guides, but I dint even know if using bcm5974 module, Im using synaptic or evdev. All I know is that without bcm module, touchpad doesnt work at all, even if evdev module is up. Also, I have this config file (for evdev hal backend, /etc/hal/fdi/policy/99-x11-synaptics.fdi):

<?xml version="1.0" encoding="ISO-8859-1"?>

<deviceinfo version="0.2">

  <device>

    <match key="info.capabilities" contains="input.touchpad">

      <merge key="input.x11_options.SHMConfig" type="string">On</merge>

      <merge key="input.x11_options.MinTapTime" type="string">50</merge>

      <merge key="input.x11_options.MaxTapTime" type="string">180</merge>

      <merge key="input.x11_options.MaxTapMove" type="string">220</merge>

      <merge key="input.x11_options.TapButton2" type="string">3</merge>

      <merge key="input.x11_options.TapButton3" type="string">2</merge>

      <merge key="input.x11_options.VertScrollDelta" type="string">20</merge>

      <merge key="input.x11_options.MinSpeed" type="string">0.60</merge>

      <merge key="input.x11_options.MaxSpeed" type="string">0.79</merge>

      <merge key="input.x11_options.AccelFactor" type="string">0.0015</merge>

      <merge key="input.x11_options.LeftRightRepeat" type="string">0</merge>

      <merge key="input.x11_options.UpDownRepeat" type="string">0</merge>

      <merge key="input.x11_options.LeftRightScrolling" type="string">Off</merge>

      <merge key="input.x11_options.VertTwoFingerScroll" type="string">On</merge>

      <merge key="input.x11_options.HorizTwoFingerScroll" type="string">On</merge>

      <merge key="input.x11_options.RTCornerButton" type="string">0</merge>

      <merge key="input.x11_options.RBCornerButton" type="string">0</merge>

      <merge key="input.x11_options.LTCornerButton" type="string">0</merge>

      <merge key="input.x11_options.LBCornerButton" type="string">0</merge>

      <merge key="input.x11_options.EdgeMotionUseAlways" type="string">0</merge>

      <merge key="input.x11_options.EdgeMotionMinZ" type="string">25</merge>

      <merge key="input.x11_options.EdgeMotionMaxZ" type="string">60</merge>

      <merge key="input.x11_options.EdgeMotionMinSpeed" type="string">150</merge>

      <merge key="input.x11_options.EdgeMotionMaxSpeed" type="string">200</merge>

      <merge key="input.x11_options.HorizEdgeScroll" type="string">0</merge>

      <merge key="input.x11_options.VertEdgeScroll" type="string">0</merge>

      <merge key="input.x11_options.LeftEdge" type="string">20</merge>

      <merge key="input.x11_options.RightEdge" type="string">1000</merge>

      <merge key="input.x11_options.TopEdge" type="string">17</merge>

      <merge key="input.x11_options.BottomEdge" type="string">700</merge>

      <merge key="input.x11_options.FingerLow" type="string">5</merge>

      <merge key="input.x11_options.FingerHigh" type="string">7</merge>

    </match>

  </device>

</deviceinfo>

Thanks in advance.

----------

## VoidMage

I think you fail to change the driver, see xorg log.

Also, for >=xorg-server-1.6.0, SHM option is not really needed.

----------

## Arthanis

I guess evdev is working, look at relevant Xorg.0.log

(II) Synaptics touchpad driver version 1.1.3

(--) TouchPad auto-dev sets device to /dev/input/event8

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

(II) TouchPad: x-axis range 0 - 1280

(II) TouchPad: y-axis range 0 - 800

(II) TouchPad: pressure range 0 - 256

(II) TouchPad: finger width range 0 - 16

(II) TouchPad: buttons: left double triple

(**) Option "SHMConfig" "on"

(--) TouchPad: touchpad found

(**) Option "SendCoreEvents"

(**) Option "CorePointer"

(**) TouchPad: always reports core events

(II) XINPUT: Adding extended input device "TouchPad" (type: TOUCHPAD)

(**) TouchPad: (accel) keeping acceleration scheme 1

(**) TouchPad: (accel) filter chain progression: 2.00

(**) TouchPad: (accel) filter stage 0: 20.00 ms

(**) TouchPad: (accel) set acceleration profile 0

(--) TouchPad: touchpad found

(II) config/hal: Adding input device Macintosh mouse button emulation

(II) LoadModule: "evdev"

(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so

(II) Module evdev: vendor="X.Org Foundation"

	compiled for 1.6.3.901, module version = 2.2.5

	Module class: X.Org XInput Driver

	ABI class: X.Org XInput driver, version 4.0

(**) Macintosh mouse button emulation: always reports core events

(**) Macintosh mouse button emulation: Device: "/dev/input/event0"

(II) Macintosh mouse button emulation: Found 3 mouse buttons

(II) Macintosh mouse button emulation: Found x and y relative axes

(II) Macintosh mouse button emulation: Configuring as mouse

(**) Macintosh mouse button emulation: YAxisMapping: buttons 4 and 5

(**) Macintosh mouse button emulation: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

(II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)

(**) Macintosh mouse button emulation: (accel) keeping acceleration scheme 1

(**) Macintosh mouse button emulation: (accel) filter chain progression: 2.00

(**) Macintosh mouse button emulation: (accel) filter stage 0: 20.00 ms

(**) Macintosh mouse button emulation: (accel) set acceleration profile 0

(II) Macintosh mouse button emulation: initialized for relative axes.

(II) config/hal: Adding input device HID 05ac:820b

(**) HID 05ac:820b: always reports core events

(**) HID 05ac:820b: Device: "/dev/input/event10"

(II) HID 05ac:820b: Found 3 mouse buttons

(II) HID 05ac:820b: Found x and y relative axes

(II) HID 05ac:820b: Configuring as mouse

(**) HID 05ac:820b: YAxisMapping: buttons 4 and 5

(**) HID 05ac:820b: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

(II) XINPUT: Adding extended input device "HID 05ac:820b" (type: MOUSE)

(**) HID 05ac:820b: (accel) keeping acceleration scheme 1

(**) HID 05ac:820b: (accel) filter chain progression: 2.00

(**) HID 05ac:820b: (accel) filter stage 0: 20.00 ms

(**) HID 05ac:820b: (accel) set acceleration profile 0

(II) HID 05ac:820b: initialized for relative axes.

(II) config/hal: Adding input device HID 05ac:820a

(**) HID 05ac:820a: always reports core events

(**) HID 05ac:820a: Device: "/dev/input/event9"

(II) HID 05ac:820a: Found keys

(II) HID 05ac:820a: Configuring as keyboard

(II) XINPUT: Adding extended input device "HID 05ac:820a" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(II) config/hal: Adding input device Built-in iSight

(**) Built-in iSight: always reports core events

(**) Built-in iSight: Device: "/dev/input/event5"

(II) Built-in iSight: Found keys

(II) Built-in iSight: Configuring as keyboard

(II) XINPUT: Adding extended input device "Built-in iSight" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(II) config/hal: Adding input device bcm5974

(II) Synaptics touchpad driver version 1.1.3

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

(II) bcm5974: x-axis range 0 - 1280

(II) bcm5974: y-axis range 0 - 800

(II) bcm5974: pressure range 0 - 256

(II) bcm5974: finger width range 0 - 16

(II) bcm5974: buttons: left double triple

(**) Option "SHMConfig" "On"

(**) Option "LeftEdge" "20"

(**) Option "RightEdge" "1000"

(**) Option "TopEdge" "17"

(**) Option "BottomEdge" "700"

(**) Option "FingerLow" "5"

(**) Option "FingerHigh" "7"

(**) Option "MaxTapTime" "180"

(**) Option "MaxTapMove" "220"

(**) Option "VertScrollDelta" "20"

(**) Option "VertEdgeScroll" "0"

(**) Option "HorizEdgeScroll" "0"

(**) Option "VertTwoFingerScroll" "On"

(**) Option "HorizTwoFingerScroll" "On"

(**) Option "EdgeMotionMinZ" "25"

(**) Option "EdgeMotionMaxZ" "60"

(**) Option "EdgeMotionMinSpeed" "150"

(**) Option "EdgeMotionMaxSpeed" "200"

(**) Option "EdgeMotionUseAlways" "0"

(**) Option "LeftRightScrolling" "Off"

(**) Option "RTCornerButton" "0"

(**) Option "RBCornerButton" "0"

(**) Option "LTCornerButton" "0"

(**) Option "LBCornerButton" "0"

(**) Option "TapButton2" "3"

(**) Option "TapButton3" "2"

(**) Option "MinSpeed" "0.60"

(**) Option "MaxSpeed" "0.79"

(**) Option "AccelFactor" "0.0015"

(--) bcm5974: touchpad found

(**) bcm5974: always reports core events

(II) XINPUT: Adding extended input device "bcm5974" (type: TOUCHPAD)

(**) bcm5974: (accel) keeping acceleration scheme 1

(**) bcm5974: (accel) filter chain progression: 2.00

(**) bcm5974: (accel) filter stage 0: 20.00 ms

(**) bcm5974: (accel) set acceleration profile 0

(WW) bcm5974 can't grab event device, errno=16

(--) bcm5974: touchpad found

(II) config/hal: Adding input device Apple, Inc. Apple Internal Keyboard / Trackpad

(**) Apple, Inc. Apple Internal Keyboard / Trackpad: always reports core events

(**) Apple, Inc. Apple Internal Keyboard / Trackpad: Device: "/dev/input/event7"

(II) Apple, Inc. Apple Internal Keyboard / Trackpad: Found keys

(II) Apple, Inc. Apple Internal Keyboard / Trackpad: Configuring as keyboard

(II) XINPUT: Adding extended input device "Apple, Inc. Apple Internal Keyboard / Trackpad" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(II) config/hal: Adding input device Sleep Button

(**) Sleep Button: always reports core events

(**) Sleep Button: Device: "/dev/input/event4"

(II) Sleep Button: Found keys

(II) Sleep Button: Configuring as keyboard

(II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(II) config/hal: Adding input device Power Button

(**) Power Button: always reports core events

(**) Power Button: Device: "/dev/input/event3"

(II) Power Button: Found keys

(II) Power Button: Configuring as keyboard

(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(II) config/hal: Adding input device Power Button

(**) Power Button: always reports core events

(**) Power Button: Device: "/dev/input/event1"

(II) Power Button: Found keys

(II) Power Button: Configuring as keyboard

(II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)

(**) Option "xkb_rules" "evdev"

(**) Option "xkb_model" "evdev"

(**) Option "xkb_layout" "us"

(WW) Apple, Inc. Apple Internal Keyboard / Trackpad: unable to handle keycode 464

Also, I used gpointing-device-settings to ocnfigure my touchpad, and any changes I do doesnt make any difference.

----------

