# Synaptics Touchpad

## d135-1r43

I followed the tutorial for Synaptic touchpads on gentoo-wiki.com, but I can't get my touchpad work. The problem is that there is no suitable event device in /dev/input/.

The interesting part of my X logfile:

```
(II) Synaptics touchpad driver version 0.14.2

Touchpad no synaptics event device found (checked 12 nodes)

Touchpad The evdev kernel module seems to be missing

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

(**) Option "LeftEdge" "1900"

(**) Option "RightEdge" "5400"

(**) Option "TopEdge" "1400"

(**) Option "BottomEdge" "4500"

(**) Option "FingerLow" "25"

(**) Option "FingerHigh" "30"

(**) Option "MaxTapTime" "180"

(**) Option "MaxTapMove" "220"

(**) Option "VertScrollDelta" "100"

Query no Synaptics: 6003C8

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

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

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

```
# cat /proc/bus/input/devices  

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd event0 

B: EV=120013 

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe 

B: MSC=10 

B: LED=7 

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0 event1 

B: EV=b 

B: KEY=6420 0 70000 0 0 0 0 0 0 0 0 

B: ABS=11000003 
```

But "event1" is not available:

```
 # ls /dev/input/

event2  event3  js0  js1  js2  js3  mice  mouse0  mouse1  mouse2  mouse3
```

"evdev" is loaded:

```
# lsmod

Module                  Size  Used by

snd_seq                33776  0 

snd_seq_device          4732  1 snd_seq

ohci_hcd               15384  0 

uhci_hcd               23936  0 

usb_storage            47680  0 

tun                     7760  0 

shfs                   37536  0 

usbcore                75064  4 ohci_hcd,uhci_hcd,usb_storage

natsemi                19712  0 

thermal                 9656  0 

processor              15400  1 thermal

ac                      3028  0 

fan                     2772  0 

battery                 7636  4 

evdev                   6368  0 

orinoco_pci             4624  0 

orinoco                31580  1 orinoco_pci

hermes                  5200  2 orinoco_pci,orinoco

snd_ali5451            15140  0 

snd_ac97_codec         48728  1 snd_ali5451

snd_pcm                52804  2 snd_ali5451,snd_ac97_codec

snd_timer              15444  2 snd_seq,snd_pcm

snd_page_alloc          5460  1 snd_pcm
```

My complete xorg.conf is available under http://www.stud.uni-karlsruhe.de/~ukbdz/xorg/

----------

## unclecharlie

d135-1r43,

I notice you've got-

```

   Identifier  "Mouse1"

   Driver      "mouse"

   Option       "Protocol" "ImPS/2"

   Option       "ZAxisMapping" "4 5"

   Option       "Device" "/dev/psaux"

   Option       "Resolution" "2200"

```

try changing the device option to-

```

       Option "Device" "/dev/input/mice"

```

You can also try changing the protocol to

```

       Option "Protocol" "Auto"

```

This also has the advantage of automagically being able to use a second mouse on the system without additional configuration. I've got my touchpad and my wireless wheel mouse working together seamlessly this way...

Hope this helps,

Charlie

[edit] p.s.- as far as your event device, I'm not sure what's up. I've got evdev compiled into my kernel and I've got one event device for each input device with no problems... [/edit]

----------

## unclecharlie

d135-1r43,

One thing to try and one observation-

The observation is that the xorg.conf and log that you posted on your page do not match your problem. (i.e. it is from before you set up the synaptics module/Touchpad device/etc.) But to be honest I'm not sure that matters here. The log message/cat in your actual post suggests that you are loading the synaptics module and pointing it to the correct device. Your only problem is the lack of /dev/input/event1. Which suggests either the module is not loading correctly or the device is not being created... 

Try doing-

```
host# rmmod evdev

host# modprobe evdev

host# ls /dev/input

```

and see if /dev/input/event1 is created. 

I've got evdev compiled directly into my kernel without problems. So that may be an option...

hope this helps,

Charlie

p.s.- ignore my first post. I was working off the xorg.conf you posted. My second laptop is set up with the synaptics module (almost exactlyt as in the gentoo-wiki). I pulled it out to check the configuration. My gut instinct is that once the evdev device is created your setup will work.

----------

## d135-1r43

Very, very strange   :Shocked: 

After reloading evdev "event1" was created. But now it belongs to the keyboard and event0 is for the touchpad ...

----------

## unclecharlie

d135-1r43,

How are you loading evdev at boot? i.e- Is it via /etc/modules.autoload.d/kernel-2.6 ? 

Charlie

----------

## d135-1r43

Yes. I load it with modules.autoload.d.

----------

## unclecharlie

o.k.

what about the input drivers. Are they modules or are they compiled into the kernel? If they are modules are you using coldplug or modules.autoload.d to load them?

Charlie

----------

## cfgauss

I, too, have configured the synaptics touchpad according to the Gentoo Wiki but can't get it to work. Here are some relevant sections from the X log:

```

(II) LoadModule: "synaptics"

(II) Loading /usr/lib64/modules/input/synaptics_drv.o

(II) Module synaptics: vendor="The XFree86 Project"

        compiled for 4.2.0, module version = 1.0.0

        Module class: XFree86 XInput Driver

        ABI class: XFree86 XInput driver, version 0.3

...

(II) LoadModule: "synaptics"

(II) Reloading /usr/lib64/modules/input/synaptics_drv.o

...

(II) Synaptics touchpad driver version 0.14.4 (1404)

(--) Touchpad auto-dev sets device to /dev/input/event1

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

(**) Option "SHMConfig" "on"

...

(--) Touchpad touchpad found

(**) Option "AlwaysCore"

(**) Touchpad: always reports core events

(**) Option "Protocol" "auto"

...

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

(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)

(II) XINPUT: Adding extended input device "Touchpad" (type: MOUSE)

Synaptics DeviceInit called

SynapticsCtrl called.

Synaptics DeviceOn called

(--) Touchpad auto-dev sets device to /dev/input/event1

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

(--) Touchpad touchpad found

```

evdev and PS2 options are in the kernel:

```

# egrep "CONFIG_INPUT_EVDEV|CONFIG_MOUSE_PS2" /usr/src/linux/.config

CONFIG_INPUT_EVDEV=y

CONFIG_MOUSE_PS2=y

```

and xorg.conf is set up as the Wiki suggests. It has an external USB mouse configured as device /dev/mouse (which works perfectly). I seem to have all the events necessary:

```

# ls /dev/input

event0  event1  event2  event3  js0  js1  js2  js3  mice  mouse0  mouse1  mouse2  mouse3

```

Any suggestions?Last edited by cfgauss on Sat Mar 18, 2006 12:12 am; edited 1 time in total

----------

## unclecharlie

d135-1r43-

If you want to ensure that things load in the same order every time, I suggest compiling evdev into the kernel(not as a module), then see which mouse/event it's running via cat /proc/bus/input/devices and configure xorg.conf accordingly.

cfgauss- I don't see any errors. Can you post your xorg.conf and the output of cat /proc/bus/input/devices?

Charlie

----------

## cfgauss

```
# cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

S: Sysfs=/class/input/input0

H: Handlers=kbd event0

B: EV=120013

B: KEY=402000000 3802078f840d001 f2ffffdfffefffff fffffffffffffffe

B: MSC=10

B: LED=7

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio1/input0

S: Sysfs=/class/input/input1

H: Handlers=mouse0 event1

B: EV=b

B: KEY=6420 7000f 0 0 0 0

B: ABS=11000003

I: Bus=0003 Vendor=062a Product=0000 Version=0000

N: Name="HID 062a:0000"

P: Phys=usb-0000:00:03.0-2/input0

S: Sysfs=/class/input/input2

H: Handlers=mouse1 event2

B: EV=7

B: KEY=70000 0 0 0 0

B: REL=103

# cat /etc/X11/xorg.conf

Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Touchpad" "AlwaysCore"

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        RgbPath      "/usr/lib64/X11/rgb"

        ModulePath   "/usr/lib64/modules"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/CID/"

        FontPath     "/usr/share/fonts/75dpi/"

        FontPath     "/usr/share/fonts/100dpi/"

EndSection

Section "Module"

        Load  "synaptics"

        Load  "extmod"

        Load  "dri"

        Load  "dbe"

        Load  "record"

        Load  "xtrap"

        Load  "glx"

        Load  "type1"

        Load  "freetype"

EndSection

Section "InputDevice"

        Identifier  "Touchpad"

        Driver      "synaptics"

        Option      "Device"   "/dev/input/mouse0"

        Option      "Protocol" "auto-dev"

        Option      "LeftEdge" "1700"

        Option      "RightEdge" "5300"

        Option      "TopEdge"   "1700"

        Option      "BottomEdge" "4200"

        Option      "FingerLow"  "25"

        Option      "FingerHigh"  "30"

        Option      "MaxTapTime"  "180"

        Option      "MaxTapMove"  "220"

        Option      "VertScrollDelta" "100"

        Option      "MinSpeed"    "0.09"

        Option      "MaxSpeed"    "0.18"

        Option      "AccelFactor" "0.0015"

        Option      "SHMConfig"   "on"

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

#       Option      "Device" "/dev/mouse"

        Option      "Device" "/dev/input/mice"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

EndSection

...

```

I omitted the Screen section and the long Device section listing the options for my SiS video card.

Does anything look awry?

----------

## unclecharlie

cfgauss,

Your config looks good(same as mine which is working). Your Xorg.0.log looks good. It really looks like it should be working for you.

The only thing that I see that could cause issues is that your touchpad is /dev/input/mouse1. Is the usb mouse /dev/input/mouse0 or is it /dev/input/mouse2? (If it's mouse0 then booting without it would make the touchpad mouse0. If it's mouse2 then you likely have one of those little joysticks in your keyboard also.) 

hope this helps,

Charlie

----------

## cfgauss

 *unclecharlie wrote:*   

> cfgauss,
> 
> Your config looks good(same as mine which is working). Your Xorg.0.log looks good. It really looks like it should be working for you.
> 
> 

 

I have some "good" news. This is a dual-boot laptop and I discovered that the touchpad doesn't work under XP either! So I guess it's hardware failure and I'll need to deal with Circuit City, the vendor.

Thanks for your help.

----------

## unclecharlie

cfgauss,

Some BIOSes have a switch to enable/disable the onboard stuff. So check there first.

If it's new and broken though definitely take it back.

Good luck,

Charlie

----------

## Pithlit

cfgauss: I'll go out on a limb and ask... did you perhaps accidentaly lock your touchpad? If it's an acer hit Fn+F7 to unlock it. If it's something else... read the manual.

----------

## cfgauss

 *Pithlit wrote:*   

> cfgauss: I'll go out on a limb and ask... did you perhaps accidentaly lock your touchpad? If it's an acer hit Fn+F7 to unlock it.....

 

Yup. Not hardware failure: user failure. That was it. I even have an Acer.

I've never had a laptop with this functionality before but have always wished (e.g. when editing a file in emacs) there could be some way to turn off a roaming mouse (which always lost focus in my emacs window). Now that I have that functionality I didn't recognize it!

Many thanks to all for their suggestions (and "[solved]" will appear on my original post). Gentoo users are the best!

----------

