# How to disable mousepad tapping ?



## ohyes (Aug 30, 2010)

hi all 

i'd like to know how i can disable tapping on the mousepad ? (click with a tap on it).

I add this in xOrg.conf, but it's not working :


```
Section "InputDevice"
        Identifier "Synaptics Touchpad"
        Driver "synaptics"
        Option "SendCoreEvents" "true"
        Option "Device" "/dev/psm0"
        Option "Protocol" "Auto"
        [color="Red"]Option "MaxTapTime" "0"
        Option "HorizScrollDelta" "0"[/color]
EndSection
```

thanks in advance.


----------



## lme@ (Aug 31, 2010)

Do you use hal?
If so, you probably need to edit /usr/local/etc/hal/$foo/$bar


----------



## ohyes (Aug 31, 2010)

thanks for your reply.
i'm using HAL.

here's what's in /usr/local/etc/hal/

```
$ ls /usr/local/etc/hal/
fdi
$ ls /usr/local/etc/hal/fdi/
information	policy		preprobe
```

I have no idea how i can do something here.
Could you help me or give me a clue ?


----------



## lme@ (Aug 31, 2010)

Perhaps this can help you?

http://forums.freebsd.org/showthread.php?t=7334


----------



## ohyes (Aug 31, 2010)

thanks.

After a look at the post you told me and "man synaptics", i edit the file :
/usr/local/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi

and add the red line :


> <?xml version="1.0" encoding="ISO-8859-1"?>
> <deviceinfo version="0.2">
> <device>
> <match key="info.capabilities" contains="input.touchpad">
> ...



Man says :


> Option "TouchpadOff" "integer"
> Switch off the touchpad.  Valid values are:
> 
> 0   Touchpad is enabled
> ...



Doesn't work (of course, i restart HAL).
Any idea ?
Do i have to add another thing in another file ?


----------



## aragon (Aug 31, 2010)

Do you have a Synaptics touchpad that supports this?  Not all touchpads have programmable tap-click.


----------



## EdGe (Aug 31, 2010)

Greetings.

I'm not sure, but i believe these options need to be set in xorg.conf to disable tapping.


```
Section "InputDevice"
         ...
         Option "TapButton1" "0"
         Option "MaxTapTime" "0"
         Option "MaxTapMove" "0"
EndSection
```

Another option would be to install a Gui based configurations tool: x11/gsynaptics or, if running kde, sysutils/ksynaptics. If you don't mind manually installing from source, take a look at GPointingDeviceSettings .

EdGe


----------



## ohyes (Aug 31, 2010)

aragon said:
			
		

> Do you have a Synaptics touchpad that supports this?  Not all touchpads have programmable tap-click.



Maybe you're right Aragon. How can i check this ?



			
				EdGe said:
			
		

> I'm not sure, but i believe these options need to be set in xorg.conf to disable tapping.
> 
> Another option would be to install a Gui based configurations tool: x11/gsynaptics



Hi EdGe, i've allready try with xOrg.conf. No way.
I tried to install gsynaptics too, and doing the right configuration. No way too. That's tell me to set 'SHMConfig' 'true' in xorg.conf, i did it, restart. No way.


----------



## EdGe (Sep 1, 2010)

ohyes said:
			
		

> Maybe you're right Aragon. How can i check this ?



You could determine the brand of the touchpad and investigate if it is programmable. The descriptions and product id can be obtained by executing :

`$ sysctl -a |grep psm`

If your investigation is unsuccessful put the output of the command here on board.

EdGe


----------



## ohyes (Sep 2, 2010)

thanks EdGe.

well, this is a SYN1B20 touchpad.
(PC is an Acer 1810TZ)


```
sysctl -a |grep psm
debug.psm.pkterrthresh: 2
debug.psm.usecs: 500000
debug.psm.secs: 0
debug.psm.errusecs: 0
debug.psm.errsecs: 2
debug.psm.hz: 20
debug.psm.loglevel: 0
hw.psm.tap_timeout: 125000
hw.psm.tap_threshold: 25
dev.psmcpnp.0.%desc: PS/2 mouse port
dev.psmcpnp.0.%driver: psmcpnp
dev.psmcpnp.0.%location: handle=\_SB_.PCI0.LPC_.MOUE
[color="Red"]dev.psmcpnp.0.%pnpinfo: _HID=SYN1B20 _UID=0[/color]
dev.psmcpnp.0.%parent: acpi0
dev.psm.0.%desc: PS/2 Mouse
dev.psm.0.%driver: psm
dev.psm.0.%parent: atkbdc0
```

i did not find information.
I tried to download a windows driver, to see the readMe file. But no info and i don't have Windows installed for a test.

Bad luck.


----------



## EdGe (Sep 3, 2010)

> i did not find information.



I wouldn't worry about that. There is no reason to conclude the touchpad's tapping may not programmable, because the applied settings are not effective. It's more likely you have 
miss-configured in the previous attempts.

Try the hal policy file for configuration again. This time copy the sample file
/usr/local/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi to
/usr/local/etc/hal/fdi/policy/ and modify it to your needs (take care
to rename the sample file in x11-synaptics.fdi).

To make sure the synaptics driver is loaded or if you encounter problems look at
/var/log/Xorg.0.log. 

This program may be interesting to you. 
syndaemon(1)() ... disables the touchpad when the keyboard is being used.

EdGe


----------



## ohyes (Sep 5, 2010)

thanks again for your reply.
I tried again : don't work.

That's what i do :

add hw.psm.synaptics_support=1 in /boot/loader.conf
add load "synaptics" in /etc/X11/xorg.conf, module section
add moused_enable in /etc/rc.conf (hal enable too)
create /usr/local/etc/hal/fdi/policy/x11-synaptics.fdi file from example
add to this file (at a correct place)

```
<merge key="input.x11_options.TouchpadOff" type="string">2</merge>
<merge key="input.x11_options.TapButton1" type="string">0</merge>
<merge key="input.x11_options.TapButton2" type="string">0</merge>
<merge key="input.x11_options.TapButton3" type="string">0</merge>
```

 restart hal or computer

Note that with the line added in /boot/loader.conf for synaptics support (with or without the others lines in others files), the touchpad has a strange behavior. I can not click without moving the cursor (click not tapping).

With all this config, i can still tapping 

Regards.


----------



## lme@ (Sep 6, 2010)

Synaptics Touchpads often don't get recognized by the psm driver.
What does `% dmesg | egrep -i 'psm|mouse|synaptics'` show?


----------



## ohyes (Sep 6, 2010)

lme@ said:
			
		

> Synaptics Touchpads often don't get recognized by the psm driver.
> What does `% dmesg | egrep -i 'psm|mouse|synaptics'` show?




```
$ dmesg | egrep -i 'psm|mouse|synaptics'
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
```


----------



## lme@ (Sep 6, 2010)

Ah, it's only recognized as a normal PS/2 mouse. So you can't use anything specific to synaptics with it.


----------



## ohyes (Sep 6, 2010)

Too bad 

thank you very much Ime@ and EdGe.


----------



## aragon (Sep 6, 2010)

I was poking around in the psm source and found something interesting.  I was able to disable my touchpad's tap feature.

Add to /boot/loader.conf:

```
hw.psm.synaptics_support=1
```

Reboot and dmesg should show something like:


```
$ grep psm /var/run/dmesg.boot 
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Synaptics Touchpad, device ID 0
```

And you should have plenty of knobs in hw.psm to play with:

```
hw.psm.tap_timeout: 125000
hw.psm.tap_threshold: 25
hw.psm.synaptics.directional_scrolls: 1
hw.psm.synaptics.min_pressure: 16
hw.psm.synaptics.max_pressure: 220
hw.psm.synaptics.max_width: 10
hw.psm.synaptics.margin_top: 200
hw.psm.synaptics.margin_right: 200
hw.psm.synaptics.margin_bottom: 200
hw.psm.synaptics.margin_left: 200
hw.psm.synaptics.na_top: 1783
hw.psm.synaptics.na_right: 563
hw.psm.synaptics.na_bottom: 1408
hw.psm.synaptics.na_left: 1600
hw.psm.synaptics.window_min: 4
hw.psm.synaptics.window_max: 10
hw.psm.synaptics.multiplicator: 10000
hw.psm.synaptics.weight_current: 3
hw.psm.synaptics.weight_previous: 6
hw.psm.synaptics.weight_previous_na: 20
hw.psm.synaptics.weight_len_squared: 2000
hw.psm.synaptics.div_min: 9
hw.psm.synaptics.div_max: 17
hw.psm.synaptics.div_max_na: 30
hw.psm.synaptics.div_len: 100
hw.psm.synaptics.tap_max_delta: 80
hw.psm.synaptics.tap_min_queue: 2
hw.psm.synaptics.taphold_timeout: 125000
hw.psm.synaptics.vscroll_hor_area: 0
hw.psm.synaptics.vscroll_ver_area: -600
hw.psm.synaptics.vscroll_min_delta: 50
hw.psm.synaptics.vscroll_div_min: 100
hw.psm.synaptics.vscroll_div_max: 150
```

Try disable tapping:
`# sysctl hw.psm.tap_timeout=0`
or
`# sysctl hw.psm.synaptics.tap_max_delta=0`

The old adage rings true: use the source, luke.


----------



## ohyes (Sep 6, 2010)

aragon said:
			
		

> Try disable tapping:
> `# sysctl hw.psm.tap_timeout=0`



waaaooouuh great !
Thanks Aragon this time it's work.

:f

When i tried this solution a few days ago, i tried :
`# sysctl hw.psm.synaptics.taphold_timeout=0` ... and it did not work.

So solution (for me) is :

add hw.psm.synaptics_support=1 to /boot/loader.conf
add hw.psm.tap_timeout=0 to /etc/sysctl.conf
add moused_enable to /etc/rc.conf


----------



## ikbendeman (Sep 17, 2010)

ohyes said:
			
		

> thanks again for your reply.
> I tried again : don't work.
> 
> That's what i do :
> ...



try using this in rc.conf instead (its what I had to do):

```
moused_enable="NO"
moused_nondefault_enable="NO"
```


----------



## tzoi516 (Dec 11, 2013)

@aragorn's solution worked for me too. Since I use devd(8) I only needed two lines:

Add to /boot/loader.conf:

```
hw.psm.synaptics_support=1
```

Add to /etc/sysctl.conf:

```
hw.psm.tap_timeout=0
```


----------



## time1 (Feb 1, 2014)

I need to do this too, but i have not hw.psm.synaptics_support option, it means that I have no Synaptics model? In dmesg there is no model...

hw.psm.tap_enabled=0 do not help too.


----------

