# Synaptics Touch Pad Tap To Click and 2.6.1

## taxxman2k

I got my touch pad and my wheel mouse both working, but I am not seeing any of the nicer featurs of the touch pad.  It can use it but the tap to click feater is not working and that is very irratating.  here is my XF86Config file:

```

Section "Module"

    Load        "dbe"     # Double buffer extension

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

    Load        "type1"

    Load        "speedo"

    Load        "freetype"

    Load "synaptics"

EndSection

Section "Files"

    RgbPath   "/usr/X11R6/lib/X11/rgb"

    FontPath   "/usr/X11R6/lib/X11/fonts/local/"

    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"

    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"

    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"

    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"

    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"

    FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"

    FontPath   "/usr/X11R6/lib/X11/fonts/freefont/"

    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"

    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"

EndSection

Section "InputDevice"

    Identifier   "Keyboard1"

    Driver   "Keyboard"

    Option "AutoRepeat" "500 30"

    Option "XkbRules"   "xfree86"

    Option "XkbModel"   "pc101"

    Option "XkbLayout"   "us"

EndSection

Section "InputDevice"

# Logitec Wheel Mouse

    Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "IMPS/2"

    Option "Device"      "/dev/mouse"

    Option "ZAxisMapping" "4 5"

EndSection

# Touch Pad

Section "InputDevice"

    Identifier  "Mouse0"

    Driver  "synaptics"

    Option  "Device"      "/dev/mouse"

    Option  "Protocol"      "event"

    Option  "LeftEdge"      "1900"

    Option  "RightEdge"      "5400"

    Option  "BottomEdge"   "1800"

    Option  "TopEdge"      "3900"

    Option  "FingerLow"      "25"

    Option  "FingerHigh"   "30"

    Option  "MaxTapTime"   "180"

    Option  "MaxTapMove"   "75"

    Option  "VertScrollDelta"   "100"

    Option  "MinSpeed"      "0.02"

    Option  "MaxSpeed"      "0.18"

    Option  "AccelFactor"   "0.0010"

EndSection

Section "Monitor"

    Identifier  "My Monitor"

    HorizSync   31.5 - 48.5

    VertRefresh 50-90

EndSection

Section "Device"

    Identifier   "Standard VGA"

    VendorName   "Unknown"

    BoardName   "Unknown"

    Driver     "vga"

EndSection

Section "Device"

    Identifier  "** Intel i810 (generic)               [i810]"

    Driver      "i810"

    #VideoRam    4096

    # Insert Clocks lines here if appropriate

EndSection

Section "Screen"

    Identifier  "Screen 1"

    Device      "** Intel i810 (generic)               [i810]"

    Monitor     "My Monitor"

    DefaultDepth 16

    Subsection "Display"

        Depth       8

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

EndSection

Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen "Screen 1"

    InputDevice "Mouse1" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

```

any ideas?

----------

## jetblack

It looks like you only have Mouse1 defined in the ServerLayout section. I think that you also need a line for Mouse0 to get the touchpad to be hadled by the Synaptics driver (I think right now it's just being handled by the ImPS/2 driver from Mouse1) Try modifying your ServerLayout section as below and see if that helps. 

```
Section "ServerLayout" 

    Identifier  "Simple Layout" 

    Screen "Screen 1" 

    InputDevice "Mouse1" "CorePointer" 

    InputDevice "Mouse0" "SendCoreEvents" 

    InputDevice "Keyboard1" "CoreKeyboard" 

EndSection 

```

You may also have to add this line to the Mouse0 Device section:

```
"Option" "SendCoreEvents" True"
```

----------

## Radi

I have added 

```
Option      "EmulateMidButtonTime"  "75"
```

i have it from

http://w1.894.telia.com/~u89404340/touchpad/index.html

resolved all my problems

----------

## int2str

I don't know about Radi's solution, but I agree with jetblack. Add a second entry in your serverlayout section. Mine looks like this:

```
Section "ServerLayout"

        Identifier     "XFree86 Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Mouse1" "SendCoreEvents"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection
```

Note that on my machine Mouse0 is the Touchpad.

Cheers,

    André

----------

## hifi

```

Section "InputDevice"

        Identifier "Mouse0"

        Driver "synaptics"

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

        Option "ZAxisMapping" "4 5"

        Option "Edges" "1900 5400 1800 3900"

        Option "Finger" "25 30"

        Option "MaxTapTime" "180"

        Option "MaxTapMove" "75"

        Option "VertScrollDelta" "100"

        Option "MinSpeed" "0.02"

        Option "MaxSpeed" "0.18"

        Option "AccelFactor" "0.0007"

        Option "SHMConfig" "on"

        Option "UpDownScrolling" "on"

        Option "Protocol" "ImPS/2"

        Option "CorePointer" ""

EndSection

```

This one works fine for me. 

Don't forget to enable eventmodel in the kernel pointer section

----------

## taxxman2k

Great guys I'll try those tonight and let ya know.  I had something in the server layout and now I forget what it was, but it was a bit different (was from the synaptics instructions I belive) and that just caused me to loose all mouse functionality.  So maybe that is my problem.  I'll give it a shot.

----------

## taxxman2k

 *jetblack wrote:*   

> It looks like you only have Mouse1 defined in the ServerLayout section. I think that you also need a line for Mouse0 to get the touchpad to be hadled by the Synaptics driver (I think right now it's just being handled by the ImPS/2 driver from Mouse1) Try modifying your ServerLayout section as below and see if that helps. 
> 
> ```
> Section "ServerLayout" 
> 
> ...

 

OK added that stuff and also checked the kernel there is no eventmodel under pointers.  That I can find, there is one called   Device Drivers>Input Device>Event Interface  ?? is this the one?

cause that is sleceted and my poor tap to click is still not working.  Any other suggestions?  I am running the latest synaptics driver.

----------

## int2str

Look in your dmesg output for Synaptics. Also look in your XFree86 log and see if that shows anything.

Cheers,

   André

----------

## int2str

Here is some samples from my machine:

```
t4 root # dmesg | grep -i syna

Synaptics Touchpad, model: 1

input: SynPS/2 Synaptics TouchPad on isa0060/serio1
```

```
t4 root # cat /var/log/XFree86.0.log | grep -i syna

(II) LoadModule: "synaptics"

(II) Loading /usr/X11R6/lib/modules/input/synaptics_drv.o

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

(II) LoadModule: "synaptics"

(II) Reloading /usr/X11R6/lib/modules/input/synaptics_drv.o

(II) Synaptics touchpad driver version 0.12.3

(--) Mouse0 auto-dev sets Synaptics Device to /dev/input/event0

Synaptics DeviceInit called

SynapticsCtrl called.

Synaptics DeviceOn called

SynapticsCtrl called.
```

----------

## taxxman2k

here is what I get:

```
dmesg | grep -i syna

Synaptics Touchpad, model: 1

input: SynPS/2 Synaptics TouchPad on isa0060/serio4
```

and

```
(II) LoadModule: "synaptics" 

(II) Loading /usr/X11R6/lib/modules/drivers/synaptics_drv.o 

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

(II) LoadModule: "synaptics" 

(II) Reloading /usr/X11R6/lib/modules/drivers/synaptics_drv.o 

(II) Synaptics touchpad driver version 0.12.3  

Synaptics DeviceInit called 

SynapticsCtrl called. 

Synaptics DeviceOn called 

SynapticsCtrl called.

SynapticsCtrl called.
```

not too much different than yours.  but I have no idea how to interpret it....  :Confused:    All I know is that it works but the tap to click does not work   :Crying or Very sad: 

----------

## jetblack

Try commenting out the wheel mouse configuration and making the touchpad your CorePointer. It might be easier to get it working as the only pointing device first. Once we get that going, we can move on to getting it to work with the wheel mouse.

Currently, I use the touchpad as my only pointer, and it works fine. When I boot back into linux later this evening, I'll post the relevant sections of my XF86Config in case you need help.

----------

## taxxman2k

k maybe we are getting somewhere.  I commented out all of the wheel mouse stuff and now I have no mouse!  I have a cursor but the mouse doesn't work.  gonna look round the kernel some more see if I am missing something.

I am a comfortable linux user, this silly 2.6.1 kernel is very humbling.

----------

## jetblack

Ah. Yes, that is interesting. Which synaptics driver are you using? I don't think the one that is bundled with X works. If you haven't yet, try this one:

http://www.tuxmobil.org/software/synaptics/

You can configure it as described in this post. It's a long post, and the Synaptics Touchpad section is toward the bottom. Perhaps that will help.

----------

## sklettke

Has anyone been able to get palm detection working for the Synaptics Touchpad?

Thanks for posting the above too, as soon as I have KDE 3.2 compiled I'll them a shot.

Scott

----------

## taxxman2k

tried the driver and checked the config still not working.  it was working before I started trying to get the tap function to work.  Wonder what I could be missing.  I'll post my file here soon again.

----------

## jetblack

Here are the relevant sections of my XF86Config:

```
Section "InputDevice"

    Identifier         "Touchpad"

    Driver         "synaptics"

    Option "Protocol"       "auto-dev"

    Option "Device"         "/dev/psaux"

    Option "ZAxisMapping"    "4 5"

    Option "Edges"       "1900 5400 1800 3900"

    Option "Finger"      "25 30"

    Option "MaxTapTime"      "180"

    Option "MaxTapMove"      "220"

    Option "EmulateMidButtonTime"   "75"

    Option "VertScrollDelta"   "100"

    Option "MinSpeed"      "0.02"

    Option "MaxSpeed"      "0.18"

    Option "AccelFactor"   "0.0007"

    Option "SHMConfig"      "On"

    Option "UpDownScrolling"    "On"

    Option "CorePointer"   ""

EndSection

```

```
Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen "Screen 1"

    InputDevice "Touchpad" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

```

Perhaps the protocol is the issue? I'm using "auto-dev", whereas you are using "event" (at least in your original XF86Config posting). I have similar messages to int2str in my XFree86.0.log, saying that auto-dev has set the touchpad to /dev/input/event0. That message is missing from your log, so perhaps that is part of the problem.

----------

## taxxman2k

That is where I am thinking it lies.  If I go changing the protocol around, then X wont even come up.

I don't have an event0 in my /dev/input/ file.  Wonder why I don't have that?

----------

## int2str

Did you compile the event interface into the kernel or as module? If you compiled it as a module, put it into autload. Or compile it right into the kernel.

----------

## taxxman2k

nope it is compiled right in.  I'll look around and try to set it up from scratch again and try all these suggestions and see what happens.... and let you all know.  Thanks for all the help thus far.

----------

## jetblack

Did you also compile in synaptics touchpad support? I don't remember seeing it earlier, but I may have missed it.

----------

## taxxman2k

I can't find that in the kernel.  That may be my issue cause it is working fin in 2.4.

----------

## jetblack

Ah, could be. It's in there somewhere, unfortunately I don't have my laptop with me right now, so I can't find the exact location. I think it's mixed in with the PS/2 mouse support somewhere.

----------

## taxxman2k

 *jetblack wrote:*   

> Ah, could be. It's in there somewhere, unfortunately I don't have my laptop with me right now, so I can't find the exact location. I think it's mixed in with the PS/2 mouse support somewhere.

 

Looking through everything in the kernel.  Have found a IBM PC110 touchpad.

this is kernel 2.6.1-gentoo

Can't find squat in there.  Gonna look again and see if I am missing it.  I used the gentoo-dev-sources to get this kernel if that makes a difference.

----------

## jetblack

Hm - I just found this link, which contains this tidbit:

 *Quote:*   

> 	[PATCH]  Input: remove synaptics config option
> 
> Remove Synaptics config option.  Since mousedev was fixed with regard to touchpads generating absolute events there should no troubles for users migrating from older kernel or different hardware so we can have it always compiled in.

 

So, maybe they removed it from 2.6.1 (not having my laptop here is absolutely killing me). Do you have mousedev support compiled in?

----------

## yamakawa

 *taxxman2k wrote:*   

>  *jetblack wrote:*   Ah, could be. It's in there somewhere, unfortunately I don't have my laptop with me right now, so I can't find the exact location. I think it's mixed in with the PS/2 mouse support somewhere. 
> 
> Looking through everything in the kernel.  Have found a IBM PC110 touchpad.
> 
> this is kernel 2.6.1-gentoo
> ...

 

I do not want anyone to be confused, but I do not think IBM PC110 touchpad is a must.

I am using synaptics driver for my touchpad, emerged x11-misc/synaptics-0.12.1.

```
[device drivers]-->

 [input device support]-->

  <*>[event interface]

  [*][mice]

  <*>[PS/2 mouse]
```

I think this is enough. At least my touchpad is working well.

----------

## taxxman2k

well now I am lost.  isn't working anywhere and can't remember which backup works, so I need to step back for a while and I will look at it again later.

----------

## taxxman2k

dunno what I did but its working now  :Smile: 

thx guys you were a lot of help.

----------

## hifi

 *Quote:*   

> 
> 
> So, maybe they removed it from 2.6.1 (not having my laptop here is absolutely killing me). Do you have mousedev support compiled in?

 

They have removed synaptic support, because it is no longer needed. 

You need mousedev support and event interface support. then use my config a few postings ago and your synaptics pad should work.

----------

## Thowil

I wonder if anyone else is having problems with strange mouse movement / clicks with kernel 2.6.

When working with X the mouse will suddenly go crazy and the pointer skips to wherever on the screen.

Sometimes there also "happen" clicks during this, which is really bad because after that I'm left alone with resized /closed / moved /whatever windows/files...

I'm using the synaptics-driver and already used various combinations of psmouse_rate /psmouse_proto /etc (Seems as if these don't do anything).

After that I changed the sources a bit to something that should be equal to psmouse_proto=bare, with no result.

The more cpu-time is used the harder this problem hits me.

While compiling it is nearly impossible to do anything else since the mouse jumps around all the time. (Renicing X won't work, and the problem also exists when the system is idle, it's just not THAT bad...)

I never noticed such problems with 2.4.

Please help, I have no idea how to fix this!

----------

## sleek

Glad I found this topic! I was able to successfully configure both my touchpad and USB mouse to work together flawlessly. I can easily use _both_ mouse devices in X without restarting or unplugging devices.

One thing I was wondering, however, is how do I modify how hard I have to tap the touchpad in order to simulate a click? I'd like it to take less tap to produce the action.

Thanks!

----------

## Regor

 *Thowil wrote:*   

> I wonder if anyone else is having problems with strange mouse movement / clicks with kernel 2.6.
> 
> When working with X the mouse will suddenly go crazy and the pointer skips to wherever on the screen.
> 
> ...
> ...

 

I wish I knew. My Laptop's touchpad is essentially useless with synaptics due to this. It's only useable at all as a plain ps/2 mouse.

Recently even my desktop machine's ps/2 trackball has been doing this, although only quite infrequently. As far as I'm concerned this is a big problem that seems to have creeped in recently.

Check your 'dmesg' output, you should see something like this, which is from my desktop machine but is similar to what I saw on my laptop:

```
psmouse.c: Mouse at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
```

One of those messages shows up every time my pointer freaks out.

----------

## Thowil

Yes, synchronizeation might be the problem.

But it seems to be deeper in the sources for ps/2 support. (I think the synaptics driver brings it's own sync-code and it happends with plain-ps/2, too).

I already played around with the synaptics code and it seems that out-of-sync and invalid packages are just ignored (at least this is what I think the code is doing).

Maybe this machanism doesn't work and packages are not discarded even if they are invalid...

I sometimes have over 150 bytes out-of-sync (6 should be a full packet I think).

I hope this will be fixed in the near future 'cause is renders 2.6 unusable for me...

----------

## Thowil

btw: I found this here: http://bugzilla.kernel.org/show_bug.cgi?id=1777

 *Quote:*   

> 
> 
>  this is a
> 
> generic problem. This FAQ entry may help you:
> ...

 

I already tried acpi=off / compiling w/o acpi of course, and I guess just replacing the mouse is not an option for us touchpad-users *g*.

But this could really be related to an interrupt-delaying problem, as I recognize that there are many hd-accesses whenever this problem hits me.

Any ideas how to fix this?

----------

## jhr0771

this configuration gave a closer behavior to what I had in 2.4.

```

Section "InputDevice"

        Identifier "Mouse0"

        Driver "synaptics"

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

        Option "ZAxisMapping" "4 5"

        Option "Edges" "1900 5400 1800 3900"

        Option "Finger" "25 30"

        Option "MaxTapTime" "180"

        Option "MaxTapMove" "220"

        Option "VertScrollDelta" "100"

        Option "MinSpeed" "0.02"

        Option "MaxSpeed" "0.10"

        Option "AccelFactor" "0.0010"

        Option "SHMConfig" "on"

        Option "UpDownScrolling" "on"

        Option "Protocol" "ImPS/2"

        Option "CorePointer" ""

EndSection

```

----------

