https://wiki.archlinux.org/api.php?action=feedcontributions&user=Gejr&feedformat=atomArchWiki - User contributions [en]2024-03-29T15:29:34ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Samba&diff=83309Samba2009-11-12T20:38:49Z<p>Gejr: /* Troubleshooting */</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|:Samba (Česky)}}<br />
{{i18n_entry|Dansk|:Samba_(Dansk)}}<br />
{{i18n_entry|Deutsch|:#More Resources}}<br />
{{i18n_entry|English|:Samba}}<br />
{{i18n_entry|Español|:Samba (Español)}}<br />
{{i18n_entry|Italiano|:Samba (Italiano)}}<br />
{{i18n_entry|Română|:Samba (română)}}<br />
{{i18n_entry|Русский|:Samba (Русский)}}<br />
{{i18n_entry|Türkçe|:Samba (Türkçe)}}<br />
{{i18n_entry|简体中文|:Samba (简体中文)}}<br />
{{i18n_entry|正體中文|:Samba 配置}}<br />
{{i18n_links_end}}<br />
<br />
<br />
== Introduction ==<br />
Samba is a re-implementation of the SMB/CIFS networking protocol, it facilitates file and printer sharing between Linux and Windows systems or Linux to Linux systems as an alternative to [[Nfs]]. Samba is easily configured and operation is very straight-forward.<br />
<br />
== Installation ==<br />
To install the Samba server, install the ''samba'' package<br />
# pacman -S samba<br />
<br />
== Configuration ==<br />
As root, copy the default Samba configuration file to ''/etc/samba/smb.conf''<br />
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf<br />
<br />
Open the ''smb.conf'' and edit it to suit your needs. The file is well commented and provides many examples, it shouldn't be too hard to understand.<br />
<br />
The default file creates a share for each user's home directory. It also creates a share for printers.<br />
<br />
=== Starting the Daemon ===<br />
Samba can be started with <br />
# /etc/rc.d/samba start<br />
<br />
Samba typically uses [[FAM]] to monitor the filesystem for changes. You will need to have the ''fam'' daemon started before ''samba''. A better alternative is to use [[Gamin]]<br />
<br />
Add samba to your DAEMONS line in ''[[rc.conf]]'' to start the daemon at boot<br />
<br />
=== Adding Users ===<br />
To log into a Samba share you'll need to add a user.<br />
# smbpasswd -a <user><br />
<br />
The user must already have a account on the server. If the user does not exist you will recieve the error:<br />
Failed to modify password entry for user "<user>"<br />
<br />
You can add a new user to the system with [[User_Management#adduser|adduser]].<br />
<br />
<br />
== Accessing Samba Shares ==<br />
KDE and Gnome have the ability to browse Samba shares. You therefore do not need any additional packages if using either of these DE's. If however you plan to use the share solely from a shell, you will need an additional package.<br />
=== Accessing a Samba Share from Gnome ===<br />
From a Nautilus window, hit {{Keypress|ctrl}}+{{Keypress|L}} or go to the "Go" menu and select "Location..." - both actions will allow you to type in the "Go to:" blank. Enter''' smb://servername/share''' followed by the {{Keypress|Enter}}.<br />
<br />
{{Note|If you do not have your servername in your {{Filename|/etc/hosts}}, you must use the IP Address of the server in place of the servername.}}<br />
<br />
smb://servername/sharename<br />
or<br />
smb://192.168.1.5/sharename<br />
<br />
A variant of the above should also work in KDE.<br />
<br />
=== Accessing a Samba Share from the Shell ===<br />
You can also use [[smbclient]] to browse shares from the shell.<br />
$ smbclient -L <hostname> -U%<br />
Will list any public shares on the server.<br />
<br />
For a GUI in the KDE SystemSettings you have to install the kdenetwork-filesharing package from Extra.<br />
<br />
=== Mounting a Samba Share ===<br />
To manually mount a share from the shell:<br />
<br />
# mount.cifs //<hostname>/<share> <mount_point> -o user=<username>,password=<password><br />
<br />
To allow a normal user to mount and unmount a Samba share you can add setuid root to ''/sbin/mount.cifs''. An alternative is to use the [[smbnetfs]] package.<br />
<br />
=== Adding a Share to fstab ===<br />
You can add a line to ''[[fstab]]'' like this:<br />
//<hostname>/<share> <mount_point> cifs credentials=<credentials_file>,rw,user,noauto 0 0<br />
<br />
Since fstab is readable by all users, we don't want to put our Samba password in this file. In this case we can use a credentials file that is only readable by you. This is a simple text file that contains:<br />
username=<username><br />
password=<password><br />
<br />
The ''user'' option of the fstab line allows the owner of the <mount_point> to mount and unmount the share. The ''noauto'' option disables mounting at boot.<br />
<br />
If you are adding a Samba share to ''[[fstab]]'', you should also add the ''[[netfs]]'' daemon to ''[[rc.conf]]'', somewhere after the ''[[network]]'' daemon. The ''netfs'' daemon will mount network partitions at boot and, more importantly, unmount network partitions at shutdown. Even if you are using the ''noauto'' option in fstab you should add the ''netfs'' daemon. Without it any network share that is mounted when you shutdown will cause the ''network'' daemon to wait for the connection to time out, consideribly extending your shutdown time.<br />
<br />
== Share files for your LAN without user and password ==<br />
<br />
Edit default /etc/samba/smb.conf on the following lines:<br />
security = user<br />
to<br />
security = share<br />
<br />
If you want to restrict the shares data to a specific interface replace<br />
; interfaces = 192.168.12.2/24 192.168.13.2/24<br />
to (replace eth0 to local network you want share to)<br />
interfaces = lo eth0<br />
bind interfaces only = true<br />
<br />
if you want to edit the account that access the shares, edit the following line:<br />
; guest account = nobody<br />
<br />
The last step is to create share directory (for write access make writable = yes):<br />
<br />
[Public Share]<br />
path = /path/to/public/share<br />
available = yes<br />
browsable = yes<br />
public = yes<br />
writable = no<br />
<br />
=== Sample configuration file ===<br />
The configuration that worked for me:<br />
[global]<br />
workgroup = WORKGROUP<br />
server string = Samba Server<br />
netbios name = PC_NAME<br />
security = share<br />
; the line below is important! If you have permission issues make sure the user here is the same as the user of the folder you want to share<br />
guest account = mark<br />
username map = /etc/samba/smbusers<br />
name resolve order = hosts wins bcast<br />
wins support = no<br /><br />
[public]<br />
comment = Public Share<br />
path = /path/to/public/share<br />
available = yes<br />
browsable = yes<br />
public = yes<br />
writable = no<br />
<br />
== Troubleshooting ==<br />
<br />
If you are having trouble accessing a password protected share from Windows, try adding this to the /etc/samba/smb.conf [http://blogs.computerworld.com/networking_nightmare_ii_adding_linux Suggestion found here]<br />
<br />
[global]<br />
# THE LANMAN FIX<br />
client lanman auth = yes<br />
client ntlmv2 auth = no<br />
<br />
<br />
=== Getting a dialog box up takes a long time ===<br />
<br />
I had a problem that it took ~30 seconds to get a password dialog box up when trying to connect from both Windows XP/Windows 7. Analyzing the error.log on the server I saw:<br />
[2009/11/11 06:20:12, 0] printing/print_cups.c:cups_connect(103)<br />
Unable to connect to CUPS server localhost:631 - Interrupted system call<br />
<br />
I don't have any printer connected to this server, so I added this to the global section:<br />
load printers = no<br />
printing = bsd<br />
disable spoolss = yes<br />
printcap name = /dev/null<br />
<br />
Not sure if all of them are necessary, but at least it works now.<br />
<br />
''-gejr''<br />
<br />
== See Also ==<br />
*[[Samba domain controller]]<br />
<br />
== More Resources ==<br />
*[http://wiki.archlinux.de/?title=Samba Samba] Samba (German) (archlinux.de)<br />
*[http://www.samba.org Official samba website]<br />
*[http://www.samba.org/samba/docs/SambaIntro.html Samba: An Introduction]</div>Gejrhttps://wiki.archlinux.org/index.php?title=Iptables&diff=80723Iptables2009-10-27T22:10:09Z<p>Gejr: </p>
<hr />
<div>{{ Stub }}<br />
{{Article summary start}}<br />
{{Article summary text|Provides information regarding the setup and configuration of iptables.}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|Firewalls}}<br />
{{Article summary end}}<br />
<br />
== Introduction ==<br />
iptables is a tool for administering the built-in firewall capabilities of the Linux kernel. It is a very large and complex piece of software.<br />
<br />
== Installation ==<br />
The installation of iptables is the only simple part of this process:<br />
# pacman -S iptables<br />
<br />
That's it! Now, move on to configuration.<br />
<br />
== Configuration ==<br />
These configuration instructions require that there are currently no rules set. Check, using the command:<br />
<br />
# iptables -nvL<br />
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)<br />
pkts bytes target prot opt in out source destination <br />
<br />
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)<br />
pkts bytes target prot opt in out source destination <br />
<br />
Chain OUTPUT (policy ACCEPT 0K packets, 0 bytes)<br />
pkts bytes target prot opt in out source destination<br />
<br />
If the output looks like the above, then there are no rules. If it does not look like the above, reset iptables with:<br />
<br />
# iptables -P INPUT ACCEPT<br />
# iptables -P FORWARD ACCEPT<br />
# iptables -P OUTPUT ACCEPT<br />
# iptables -F<br />
# iptables -X<br />
<br />
== Iptables logging ==<br />
<br />
Assuming you are using syslog-ng which is the default in Archlinux, you can control where iptables' log output goes this way:<br />
filter f_everything { level(debug..emerg) and not facility(auth, authpriv); };<br />
to<br />
filter f_everything { level(debug..emerg) and not facility(auth, authpriv) and not filter(f_iptables); };<br />
<br />
This will stop logging iptables output to /var/log/everything.log.<br />
<br />
If you also want iptables to log to a different file than /var/log/iptables.log, you can simply change the file value of destination d_iptables here (still in syslog-ng.conf)<br />
destination d_iptables { file("/var/log/iptables.log"); };</div>Gejrhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=68638Touchpad Synaptics2009-05-12T19:00:45Z<p>Gejr: /* Configuration via HAL policies (hotplugging enabled) */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|Touchpad Synaptics}}<br />
{{i18n_entry|German|Touchpad Synaptics (Deutsch)}}<br />
{{i18n_entry|Русский|Тачпад Synaptics}}<br />
{{i18n_entry|简体中文|触摸板 (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
This article will help install and configure the [http://w1.894.telia.com/~u89404340/touchpad/ synaptics input driver] for Synaptics Touchpads found on most notebooks.<br />
<br />
==Installation==<br />
The synaptics driver is now bundled as ''xf86-input-synaptics'', and is available from the standard repositories:<br />
# pacman -S xf86-input-synaptics<br />
<br />
==Configuration==<br />
There are two options configuring the Synaptics Touchpad. How you do so will depend on whether you have enabled [[Xorg input hotplugging]].<br />
<br />
===Configuration via xorg.conf (hotplugging disabled)===<br />
<br />
Edit ''/etc/X11/xorg.conf'' as root and add '''InputDevice "Touchpad" "SendCoreEvents"''' to the ''ServerLayout'', for example:<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
'''''InputDevice "SynapticsTouchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Add '''Load "synaptics"''' to the ''Module'' section, for example:<br />
Section "Module"<br />
...<br />
Load "glx"<br />
Load "freetype"<br />
'''''Load "synaptics"'''''<br />
...<br />
EndSection<br />
<br />
Lastly, add a new ''InputDevice'' section for the touchpad itself:<br />
Section "InputDevice"<br />
Identifier "SynapticsTouchpad"<br />
Driver "synaptics"<br />
Option "AlwaysCore" "true" # send events to CorePointer<br />
#Option "Device" "/dev/input/mice"<br />
Option "Device" "/dev/psaux"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "false" # configurable at runtime? security risk<br />
Option "LeftEdge" "1700" # x coord left<br />
Option "RightEdge" "5300" # x coord right<br />
Option "TopEdge" "1700" # y coord top<br />
Option "BottomEdge" "4200" # y coord bottom<br />
Option "FingerLow" "25" # pressure below this level triggers release<br />
Option "FingerHigh" "30" # pressure above this level triggers touch<br />
Option "MaxTapTime" "180" # max time in ms for detecting tap<br />
'''Option "VertEdgeScroll" "true" # enable vertical scroll zone'''<br />
'''Option "HorizEdgeScroll" "true" # enable horizontal scroll zone'''<br />
Option "CornerCoasting" "true" # enable continuous scroll with finger in corner<br />
Option "CoastingSpeed" "0.30" # corner coasting speed<br />
Option "VertScrollDelta" "100" # edge-to-edge scroll distance of the vertical scroll<br />
Option "HorizScrollDelta" "100" # edge-to-edge scroll distance of the horizontal scroll<br />
Option "MinSpeed" "0.10" # speed factor for low pointer movement<br />
Option "MaxSpeed" "0.60" # maximum speed factor for fast pointer movement<br />
Option "AccelFactor" "0.0020" # acceleration factor for normal pointer movements<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
The '''bolded''' lines are important because users must now explicitly enable the side and bottom scroll zones of the touchpad. If you already had an InputDevice section configured for the old touchpad driver, you'll still need to add these two lines if you wish to use the scroll zones.<br />
<br />
Save, exit and restart X. The touchpad should now have working scroll zones. You can further tweak the ''InputDevice'' settings if desired. See [[#Advanced_Configuration | Advanced Configuration]] for more information.<br />
<br />
Note that Xorg will automatically load the '''evdev''' and '''psmouse''' kernel modules required by synaptics, however you may also add them explicitly to the MODULES array in the /etc/rc.conf file if desired.<br />
<br />
====ALPS Touchpads====<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
===Configuration via HAL policies (hotplugging enabled)===<br />
If you have chosen to use [[Xorg input hotplugging]], then the next time you enter X, you will likely find that your touchpad works without any further configuration.<br />
<br />
If it does not or you want to tweak the configuration, remove every related configuration from the xorg.conf file. Keep only the '''Load "synaptics"''' line.<br />
<br />
Copy /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi into /etc/hal/fdi/policy/(note that in some cases it apparently needs to be renamed to 99-x11-synaptics.fdi). Edit it with your favourite editor.<br />
<br />
The file contains:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
You have to add a line just before the closing '''</match>''' for every configuration option. What was:<br />
Option "RightEdge" "5300"<br />
in the '''xorg.conf''' becomes:<br />
<merge key="input.x11_options.RightEdge" type="string">5300</merge><br />
in this '''.fdi''' file.<br />
<br />
Here a simple '''<match>''' section to begin with, it activates the most wanted features and leaves many settings alone:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.AlwaysCore" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
</match><br />
<br />
For my ALPS touchpad I needed to change:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
with:<br />
<match key="info.product" contains="AlpsPS/2 ALPS GlidePoint"><br />
<br />
You can find the exact information for your touchpad in /proc/bus/input/devices.<br />
<br />
If the above config does not work for you, try this:<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<!-- Arbitrary options can be passed to the driver using<br />
the input.x11_options property since xorg-server-1.5. --><br />
<!-- EXAMPLE:<br />
<merge key="input.x11_options.LeftEdge" type="string">120</merge><br />
--><br />
</match><br />
<match key="info.product" contains="AlpsPS/2 ALPS"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="appletouch"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="bcm5974"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<merge key="input.x11_options.protocol" type="string">event</merge><br />
<merge key="input.x11_options.touchpadoff" type="string">0</merge><br />
<merge key="input.x11_options.shmconfig" type="string">on</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.vertedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.horizedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.RightEdge" type="string">930</merge><br />
<merge key="input.x11_options.BottomEdge" type="string">700</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizScrollDelta" type="string">20</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
Or, if you find hal is not loading your settings, try this one. Note the "append key" line, required in some systems. Then add the options you prefer.<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.product" contains="SynPS/2 Synaptics TouchPad"><br />
<append key="info.capabilities" type="strlist">input.touchpad</append><br />
</match> <br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">3</merge><br />
<merge key="input.x11_options.TapButton3" type="string">2</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
==Advanced Configuration==<br />
=== Input device options ===<br />
The synaptics driver offers a number of options that can be customized. The following is a brief list of some of these options--see '''man synaptics''' for full details:<br />
<br />
'''Device''' defines where your synaptic device is located. See [[#Troubleshooting | Troubleshooting]] to find your device handler if it isn't /dev/input/mouse0 for you.<br />
<br />
'''MinSpeed''' and '''MaxSpeed''' are set to determine the minimum and maximum speed factor. An floating point value is expected.<br />
<br />
'''AccelFactor''' is the acceleration factor as well defined as a floating point value.<br />
<br />
''' VertScrollDelta''' and ''' HorizScrollDelta''' is an integer value defining scrolling speed. Smaller values result in faster scrolling.<br />
<br />
'''SHMConfig''' is a boolean value (on/off) for activating or deactivating shared memory. This ''must be enabled'' in order to monitor or configure your synaptics device with a client such as synclient, which is discussed below. Shared memory is also required if you want to use [[udev]] rules to disable the touchpad automatically when external mouse is plugged in (see [[#Disabling touchpad on plugged in mouse|the relevant section]] below).<br />
<br />
===Gsynaptics===<br />
Once the touchpad is configured, GNOME users can also install the '''gsynaptics''' package to enable a GUI-based control panel for the device:<br />
# pacman -S gsynaptics<br />
<br />
To save and load the settings from gsynaptics automatically, add '''gsynaptics-init''' to the list of ''Startup Programs'' found in ''System -> Preferences -> Sessions''.<br />
<br />
'''''Note:''' Non-GNOME users can also use gsynaptics by instead adding '''gsynaptics-init''' to their .xinitrc or .xsession startup scripts.''<br />
<br />
'''''Note:''' The '''gsynaptics''' web page [http://gsynaptics.sourceforge.jp/] indicates that it is becoming obsolete and users should consider '''GPointingDeviceSettings''' [http://live.gnome.org/GPointingDeviceSettings], currently available in AUR and as source code.''<br />
<br />
'''''Hotplugging Enabled:'''<br />
If you have hotplugging enabled you will need to make a new file in /etc/hal/fdi/policy called shmconfig.fdi with the following content.<br />
<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="input.x11_driver" string="synaptics"><br />
<merge key="input.x11_options.SHMConfig" type="string">True</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
===Fine tuning with synclient===<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default synaptics settings. In order for synclient to work properly, the '''SHMConfig''' option must be set to '''on''' or '''true'''.<br />
<br />
You can start the synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations are explained as following:<br />
<br />
'''time'''<br />
:Time in seconds since the logging was started.<br />
<br />
'''x, y'''<br />
:The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
<br />
'''z'''<br />
:The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
<br />
'''f'''<br />
:Number of fingers currently touching the touchpad.<br />
<br />
'''w'''<br />
:Value that represents the finger width.<br />
<br />
'''l,r,u,d,m,multi'''<br />
:Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
<br />
'''gl,gm,gr'''<br />
:For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
<br />
'''gdx, gdy'''<br />
:x/y coordinates of the guest device.<br />
<br />
If a value constantly is zero, it means that this option is not supported by your device.<br />
<br />
With this in mind you should be able to figure the proper values out for you.<br />
<br />
===Edge scrolling===<br />
To enable the scroll zones found along the edges of the touchpad, add one or both of the following options to the touchpad device section in /etc/X11/xorg.conf:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "VertEdgeScroll" "true" #vertical scrolling when dragging along the right edge.<br />
Option "HorizEdgeScroll" "true" #horizontal scrolling when dragging along the bottom edge.<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or if that doesn't work, ''/etc/hal/fdi/policy/99-x11-synaptics.fdi) for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge><br />
...<br />
</match><br />
<br />
===Two-Finger scrolling===<br />
Recent synaptics touchpads support two-finger scrolling. This allows you to use two fingers together anywhere on the touchpad, similar to the behaviour of Macbooks.<br />
<br />
If your hardware supports this feature, you can enable it by inserting the following lines into the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "EmulateTwoFingerMinZ" "120" # this may vary between different machines<br />
...<br />
EndSection<br />
<br />
''EmulateTwoFingerMinZ'' is only necessary for the Alps Touchpad, which several Dell machines have. ([http://ubuntuforums.org/showthread.php?t=516798&page=2#19 from Ubuntu forums])<br />
<br />
'''Firefox users:''' You might find the default behaviour of Firefox pretty annoying relating to the horizontal scrolling. Just see ''Firefox and special touchpad events'' below to find out how to disable it.<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">120</merge><br />
...<br />
</match><br />
<br />
===Circular scrolling===<br />
Circular scrolling is a feature that synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.CircularScrolling" type="string">on</merge><br />
<merge key="input.x11_options.CircScrollTrigger" type="string">0</merge><br />
...<br />
</match><br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you're starting.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Other features===<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad, ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
==Tips & Tricks==<br />
===Disable touchpad upon external mouse detection===<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the [[#Configuration | Configuration]] section for details)<br />
<br />
==Troubleshooting==<br />
===My touchpad device isn't located at /dev/input/mouse0===<br />
If that's the case, you can use this command to display information about your all input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The Handler in this section will tell you which Device you have to specify in your xorg.conf.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1 <br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
As your Handlers are mouse0 and event1, you use /dev/input/mouse0.<br />
<br />
===Stopping the mouse from clicking while typing===<br />
This is a neat little trick incorporated with the synaptics driver, you can actually make sure that the touchpad is disabled while typing. It is a very simple procedure, so here is how it is done.<br />
<br />
Just add the following line to your .xinitrc before you run your window manager:<br />
syndaemon -i 2 &<br />
<br />
The '''-i 2''' switch sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key press before enabling the touchpad again.<br />
<br />
Additionally you can add the '''-t''' switch that tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling:<br />
syndaemon -t -i 2 &<br />
<br />
As usual you may find further information in the manpage:<br />
$ man syndaemon<br />
<br />
Note: Don't forget to turn on SHMConfig in your xorg-setup, either in /etc/xorg.conf (hotplugging disabled) or in /etc/hal/fdi/policy/11-x11-synaptics.fdi (hotplugging enabled). Some users may need to specify touchpad preferences in /etc/hal/fdi/policy/99-x11-synaptics.fdi, instead.<br />
<br />
Note: If you're using GDM as your login manager and Gnome, GDM will ignore commands added to .xinitrc, other than the command to start Gnome. To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to System > Preferences > Startup Applications. In the Startup Programs tab click the Add button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
syndaemon -i 2 -d<br />
<br />
The "-d" option is necessary to start syndaemon as a background process, instead of the "&" which does this in .xinitrc. You can add other options as well, the same way you would in .xinitrc. When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
===Firefox and special touchpad events===<br />
Even though this problem isn't concerning the synaptics drivers, you will probably look up here for a solution anyway.<br />
By default firefox is set up to do special events on tapping or scrolling certain parts of your touchpad. <br />
You can edit the settings of those actions by typing '''about:config''' in your firefox address bar.<br />
Editing takes place by double clicking on those lines, true changes to false and vise versa, a numerical value you'll have to change manually.<br />
<br />
To prevent firefox from scrolling (back and forward) through the history and make it scroll the site, you have to edit the following settings:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent firefox from redirecting you to urls formed out of your clipboard content, on tapping the upper-rigt corner of your touchpad (or middle mouse button), you have to set the following line to false:<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera misinterprets horizontal scrolling===<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. There you edit the mouse preferences: Delete the entries with "Button 5" and "Button 6".<br />
<br />
===Scrolling and multiple actions with synaptics on LG Laptops===<br />
These problems seems to be occurring on several models of LG laptops. <br />
Symptoms are that when pressing Mouse Button 1 synaptics interprets it as ScrollUP and a regular button 1 click, same goes for button 2.<br />
<br />
The scrolling can be solved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
This however will make synaptics interpret one button push as three. There is a patch written by Oskar Sandberg, found at http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html , that removes these clicks.<br />
<br />
However when trying to compile this with the latest version of synaptics it fails. The solution to this is using the GIT repository for synaptics. It can be found at http://web.telia.com/~u89404340/touchpad/synaptics/.git .<br />
<br />
There is also a package build file in the archlinux user repository to automate this, http://aur.archlinux.org/packages.php?ID=15983.<br />
<br />
Instructions on how to build this package, after downloading the tarball and unpacking it:<br />
cd synaptics-git<br />
makepkg <br />
<br />
If you want it to be automatically installed after it has build just add '-i' after makepkg.<br />
<br />
===Still can't get your USB (external) mouse working?===<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above, and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad loses synchronization===<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This is accompanied by similar records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but you may try several possible workarounds.<br />
*If you use cpu frequency scaling, try not using "ondemand" governor and use "performance" governor when possible, since touchpad may lose sync when cpu frequency changes.<br />
*Try not using acpi battery monitor.<br />
*Try to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report, that this problem only occurs when using Xfce or Gnome and newer occurs under KDE.<br />
*If your touchpad loses sync not only under Linux, but under Windows too, this may be a hardware issue. So, you may need to replace the touchpad itself.<br />
<br />
===Touchpad doesn't have tapping function===<br />
Xorg v7.4 does not enable tapping by default. To enable, simply add following to the touchpad's InputDevice section in <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "TapButton1" "''integer''"<br />
Option "TapButton2" "''integer''"<br />
Option "TapButton3" "''integer''"<br />
...<br />
EndSection<br />
The ''integer'' of option "TapButton1" means which mouse button is reported on a non-corner one-finger tap. Usually it is 1.<br />
The ''integer'' of option "TapButton2" means which mouse button is reported on a non-corner two-finger tap. Usually it is 2.<br />
The ''integer'' of option "TapButton3" means which mouse button is reported on a non-corner three-finger tap. Usually it is 3.<br />
<br />
===There is a delay between a button tap and the actual click===<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
If you're using xorg-server with disabled input hotplugging change xorg.conf so that you have:<br />
<br />
Section "InputDevice"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
If you're using input hotplugging change your 11-x11-synaptics.fdi(or 99-x11-synaptics.fdi, in some cases) so that it contains:<br />
<br />
<merge key="input.x11_options.FastTaps" type="string">1</merge><br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
If you are using Xorg7.4, you may get a warning like this from /var/log/Xorg.0.log, that's because the driver will grab the event device for exclusive use when using the linux 2.6 event protocol. When it fails, X will warn this message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space. <br />
<br />
if you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in xorg.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
That will affect when next time you start X, and you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==Other Resources==<br />
<br />
Synaptics TouchPad driver for XOrg/XFree86 :<br />
[http://web.telia.com/~u89404340/touchpad/index.html]<br />
<br />
[[Category:Mouse]]<br />
[[Category:HOWTOs (English)]]</div>Gejrhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=68637Touchpad Synaptics2009-05-12T18:59:55Z<p>Gejr: /* Configuration via HAL policies (hotplugging enabled) */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|Touchpad Synaptics}}<br />
{{i18n_entry|German|Touchpad Synaptics (Deutsch)}}<br />
{{i18n_entry|Русский|Тачпад Synaptics}}<br />
{{i18n_entry|简体中文|触摸板 (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
This article will help install and configure the [http://w1.894.telia.com/~u89404340/touchpad/ synaptics input driver] for Synaptics Touchpads found on most notebooks.<br />
<br />
==Installation==<br />
The synaptics driver is now bundled as ''xf86-input-synaptics'', and is available from the standard repositories:<br />
# pacman -S xf86-input-synaptics<br />
<br />
==Configuration==<br />
There are two options configuring the Synaptics Touchpad. How you do so will depend on whether you have enabled [[Xorg input hotplugging]].<br />
<br />
===Configuration via xorg.conf (hotplugging disabled)===<br />
<br />
Edit ''/etc/X11/xorg.conf'' as root and add '''InputDevice "Touchpad" "SendCoreEvents"''' to the ''ServerLayout'', for example:<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
'''''InputDevice "SynapticsTouchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Add '''Load "synaptics"''' to the ''Module'' section, for example:<br />
Section "Module"<br />
...<br />
Load "glx"<br />
Load "freetype"<br />
'''''Load "synaptics"'''''<br />
...<br />
EndSection<br />
<br />
Lastly, add a new ''InputDevice'' section for the touchpad itself:<br />
Section "InputDevice"<br />
Identifier "SynapticsTouchpad"<br />
Driver "synaptics"<br />
Option "AlwaysCore" "true" # send events to CorePointer<br />
#Option "Device" "/dev/input/mice"<br />
Option "Device" "/dev/psaux"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "false" # configurable at runtime? security risk<br />
Option "LeftEdge" "1700" # x coord left<br />
Option "RightEdge" "5300" # x coord right<br />
Option "TopEdge" "1700" # y coord top<br />
Option "BottomEdge" "4200" # y coord bottom<br />
Option "FingerLow" "25" # pressure below this level triggers release<br />
Option "FingerHigh" "30" # pressure above this level triggers touch<br />
Option "MaxTapTime" "180" # max time in ms for detecting tap<br />
'''Option "VertEdgeScroll" "true" # enable vertical scroll zone'''<br />
'''Option "HorizEdgeScroll" "true" # enable horizontal scroll zone'''<br />
Option "CornerCoasting" "true" # enable continuous scroll with finger in corner<br />
Option "CoastingSpeed" "0.30" # corner coasting speed<br />
Option "VertScrollDelta" "100" # edge-to-edge scroll distance of the vertical scroll<br />
Option "HorizScrollDelta" "100" # edge-to-edge scroll distance of the horizontal scroll<br />
Option "MinSpeed" "0.10" # speed factor for low pointer movement<br />
Option "MaxSpeed" "0.60" # maximum speed factor for fast pointer movement<br />
Option "AccelFactor" "0.0020" # acceleration factor for normal pointer movements<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
The '''bolded''' lines are important because users must now explicitly enable the side and bottom scroll zones of the touchpad. If you already had an InputDevice section configured for the old touchpad driver, you'll still need to add these two lines if you wish to use the scroll zones.<br />
<br />
Save, exit and restart X. The touchpad should now have working scroll zones. You can further tweak the ''InputDevice'' settings if desired. See [[#Advanced_Configuration | Advanced Configuration]] for more information.<br />
<br />
Note that Xorg will automatically load the '''evdev''' and '''psmouse''' kernel modules required by synaptics, however you may also add them explicitly to the MODULES array in the /etc/rc.conf file if desired.<br />
<br />
====ALPS Touchpads====<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
===Configuration via HAL policies (hotplugging enabled)===<br />
If you have chosen to use [[Xorg input hotplugging]], then the next time you enter X, you will likely find that your touchpad works without any further configuration.<br />
<br />
If it does not or you want to tweak the configuration, remove every related configuration from the xorg.conf file. Keep only the '''Load "synaptics"''' line.<br />
<br />
Copy /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi into /etc/hal/fdi/policy/(note that in some cases it apparently needs to be renamed to 99-x11-synaptics.fdi). Edit it with your favourite editor.<br />
<br />
The file contains:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
You have to add a line just before the closing '''</match>''' for every configuration option. What was:<br />
Option "RightEdge" "5300"<br />
in the '''xorg.conf''' becomes:<br />
<merge key="input.x11_options.RightEdge" type="string">5300</merge><br />
in this '''.fdi''' file.<br />
<br />
It could be useful to run a <br />
<br />
Here a simple '''<match>''' section to begin with, it activates the most wanted features and leaves many settings alone:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.AlwaysCore" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
</match><br />
<br />
For my ALPS touchpad I needed to change:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
with:<br />
<match key="info.product" contains="AlpsPS/2 ALPS GlidePoint"><br />
<br />
You can find the exact information for your touchpad here in /proc/bus/input/devices.<br />
<br />
If the above config does not work for you, try this:<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<!-- Arbitrary options can be passed to the driver using<br />
the input.x11_options property since xorg-server-1.5. --><br />
<!-- EXAMPLE:<br />
<merge key="input.x11_options.LeftEdge" type="string">120</merge><br />
--><br />
</match><br />
<match key="info.product" contains="AlpsPS/2 ALPS"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="appletouch"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="bcm5974"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<merge key="input.x11_options.protocol" type="string">event</merge><br />
<merge key="input.x11_options.touchpadoff" type="string">0</merge><br />
<merge key="input.x11_options.shmconfig" type="string">on</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.vertedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.horizedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.RightEdge" type="string">930</merge><br />
<merge key="input.x11_options.BottomEdge" type="string">700</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizScrollDelta" type="string">20</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
Or, if you find hal is not loading your settings, try this one. Note the "append key" line, required in some systems. Then add the options you prefer.<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.product" contains="SynPS/2 Synaptics TouchPad"><br />
<append key="info.capabilities" type="strlist">input.touchpad</append><br />
</match> <br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">3</merge><br />
<merge key="input.x11_options.TapButton3" type="string">2</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
==Advanced Configuration==<br />
=== Input device options ===<br />
The synaptics driver offers a number of options that can be customized. The following is a brief list of some of these options--see '''man synaptics''' for full details:<br />
<br />
'''Device''' defines where your synaptic device is located. See [[#Troubleshooting | Troubleshooting]] to find your device handler if it isn't /dev/input/mouse0 for you.<br />
<br />
'''MinSpeed''' and '''MaxSpeed''' are set to determine the minimum and maximum speed factor. An floating point value is expected.<br />
<br />
'''AccelFactor''' is the acceleration factor as well defined as a floating point value.<br />
<br />
''' VertScrollDelta''' and ''' HorizScrollDelta''' is an integer value defining scrolling speed. Smaller values result in faster scrolling.<br />
<br />
'''SHMConfig''' is a boolean value (on/off) for activating or deactivating shared memory. This ''must be enabled'' in order to monitor or configure your synaptics device with a client such as synclient, which is discussed below. Shared memory is also required if you want to use [[udev]] rules to disable the touchpad automatically when external mouse is plugged in (see [[#Disabling touchpad on plugged in mouse|the relevant section]] below).<br />
<br />
===Gsynaptics===<br />
Once the touchpad is configured, GNOME users can also install the '''gsynaptics''' package to enable a GUI-based control panel for the device:<br />
# pacman -S gsynaptics<br />
<br />
To save and load the settings from gsynaptics automatically, add '''gsynaptics-init''' to the list of ''Startup Programs'' found in ''System -> Preferences -> Sessions''.<br />
<br />
'''''Note:''' Non-GNOME users can also use gsynaptics by instead adding '''gsynaptics-init''' to their .xinitrc or .xsession startup scripts.''<br />
<br />
'''''Note:''' The '''gsynaptics''' web page [http://gsynaptics.sourceforge.jp/] indicates that it is becoming obsolete and users should consider '''GPointingDeviceSettings''' [http://live.gnome.org/GPointingDeviceSettings], currently available in AUR and as source code.''<br />
<br />
'''''Hotplugging Enabled:'''<br />
If you have hotplugging enabled you will need to make a new file in /etc/hal/fdi/policy called shmconfig.fdi with the following content.<br />
<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="input.x11_driver" string="synaptics"><br />
<merge key="input.x11_options.SHMConfig" type="string">True</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
===Fine tuning with synclient===<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default synaptics settings. In order for synclient to work properly, the '''SHMConfig''' option must be set to '''on''' or '''true'''.<br />
<br />
You can start the synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations are explained as following:<br />
<br />
'''time'''<br />
:Time in seconds since the logging was started.<br />
<br />
'''x, y'''<br />
:The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
<br />
'''z'''<br />
:The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
<br />
'''f'''<br />
:Number of fingers currently touching the touchpad.<br />
<br />
'''w'''<br />
:Value that represents the finger width.<br />
<br />
'''l,r,u,d,m,multi'''<br />
:Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
<br />
'''gl,gm,gr'''<br />
:For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
<br />
'''gdx, gdy'''<br />
:x/y coordinates of the guest device.<br />
<br />
If a value constantly is zero, it means that this option is not supported by your device.<br />
<br />
With this in mind you should be able to figure the proper values out for you.<br />
<br />
===Edge scrolling===<br />
To enable the scroll zones found along the edges of the touchpad, add one or both of the following options to the touchpad device section in /etc/X11/xorg.conf:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "VertEdgeScroll" "true" #vertical scrolling when dragging along the right edge.<br />
Option "HorizEdgeScroll" "true" #horizontal scrolling when dragging along the bottom edge.<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or if that doesn't work, ''/etc/hal/fdi/policy/99-x11-synaptics.fdi) for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge><br />
...<br />
</match><br />
<br />
===Two-Finger scrolling===<br />
Recent synaptics touchpads support two-finger scrolling. This allows you to use two fingers together anywhere on the touchpad, similar to the behaviour of Macbooks.<br />
<br />
If your hardware supports this feature, you can enable it by inserting the following lines into the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "EmulateTwoFingerMinZ" "120" # this may vary between different machines<br />
...<br />
EndSection<br />
<br />
''EmulateTwoFingerMinZ'' is only necessary for the Alps Touchpad, which several Dell machines have. ([http://ubuntuforums.org/showthread.php?t=516798&page=2#19 from Ubuntu forums])<br />
<br />
'''Firefox users:''' You might find the default behaviour of Firefox pretty annoying relating to the horizontal scrolling. Just see ''Firefox and special touchpad events'' below to find out how to disable it.<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">120</merge><br />
...<br />
</match><br />
<br />
===Circular scrolling===<br />
Circular scrolling is a feature that synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.CircularScrolling" type="string">on</merge><br />
<merge key="input.x11_options.CircScrollTrigger" type="string">0</merge><br />
...<br />
</match><br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you're starting.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Other features===<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad, ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
==Tips & Tricks==<br />
===Disable touchpad upon external mouse detection===<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the [[#Configuration | Configuration]] section for details)<br />
<br />
==Troubleshooting==<br />
===My touchpad device isn't located at /dev/input/mouse0===<br />
If that's the case, you can use this command to display information about your all input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The Handler in this section will tell you which Device you have to specify in your xorg.conf.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1 <br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
As your Handlers are mouse0 and event1, you use /dev/input/mouse0.<br />
<br />
===Stopping the mouse from clicking while typing===<br />
This is a neat little trick incorporated with the synaptics driver, you can actually make sure that the touchpad is disabled while typing. It is a very simple procedure, so here is how it is done.<br />
<br />
Just add the following line to your .xinitrc before you run your window manager:<br />
syndaemon -i 2 &<br />
<br />
The '''-i 2''' switch sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key press before enabling the touchpad again.<br />
<br />
Additionally you can add the '''-t''' switch that tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling:<br />
syndaemon -t -i 2 &<br />
<br />
As usual you may find further information in the manpage:<br />
$ man syndaemon<br />
<br />
Note: Don't forget to turn on SHMConfig in your xorg-setup, either in /etc/xorg.conf (hotplugging disabled) or in /etc/hal/fdi/policy/11-x11-synaptics.fdi (hotplugging enabled). Some users may need to specify touchpad preferences in /etc/hal/fdi/policy/99-x11-synaptics.fdi, instead.<br />
<br />
Note: If you're using GDM as your login manager and Gnome, GDM will ignore commands added to .xinitrc, other than the command to start Gnome. To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to System > Preferences > Startup Applications. In the Startup Programs tab click the Add button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
syndaemon -i 2 -d<br />
<br />
The "-d" option is necessary to start syndaemon as a background process, instead of the "&" which does this in .xinitrc. You can add other options as well, the same way you would in .xinitrc. When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
===Firefox and special touchpad events===<br />
Even though this problem isn't concerning the synaptics drivers, you will probably look up here for a solution anyway.<br />
By default firefox is set up to do special events on tapping or scrolling certain parts of your touchpad. <br />
You can edit the settings of those actions by typing '''about:config''' in your firefox address bar.<br />
Editing takes place by double clicking on those lines, true changes to false and vise versa, a numerical value you'll have to change manually.<br />
<br />
To prevent firefox from scrolling (back and forward) through the history and make it scroll the site, you have to edit the following settings:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent firefox from redirecting you to urls formed out of your clipboard content, on tapping the upper-rigt corner of your touchpad (or middle mouse button), you have to set the following line to false:<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera misinterprets horizontal scrolling===<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. There you edit the mouse preferences: Delete the entries with "Button 5" and "Button 6".<br />
<br />
===Scrolling and multiple actions with synaptics on LG Laptops===<br />
These problems seems to be occurring on several models of LG laptops. <br />
Symptoms are that when pressing Mouse Button 1 synaptics interprets it as ScrollUP and a regular button 1 click, same goes for button 2.<br />
<br />
The scrolling can be solved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
This however will make synaptics interpret one button push as three. There is a patch written by Oskar Sandberg, found at http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html , that removes these clicks.<br />
<br />
However when trying to compile this with the latest version of synaptics it fails. The solution to this is using the GIT repository for synaptics. It can be found at http://web.telia.com/~u89404340/touchpad/synaptics/.git .<br />
<br />
There is also a package build file in the archlinux user repository to automate this, http://aur.archlinux.org/packages.php?ID=15983.<br />
<br />
Instructions on how to build this package, after downloading the tarball and unpacking it:<br />
cd synaptics-git<br />
makepkg <br />
<br />
If you want it to be automatically installed after it has build just add '-i' after makepkg.<br />
<br />
===Still can't get your USB (external) mouse working?===<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above, and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad loses synchronization===<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This is accompanied by similar records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but you may try several possible workarounds.<br />
*If you use cpu frequency scaling, try not using "ondemand" governor and use "performance" governor when possible, since touchpad may lose sync when cpu frequency changes.<br />
*Try not using acpi battery monitor.<br />
*Try to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report, that this problem only occurs when using Xfce or Gnome and newer occurs under KDE.<br />
*If your touchpad loses sync not only under Linux, but under Windows too, this may be a hardware issue. So, you may need to replace the touchpad itself.<br />
<br />
===Touchpad doesn't have tapping function===<br />
Xorg v7.4 does not enable tapping by default. To enable, simply add following to the touchpad's InputDevice section in <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "TapButton1" "''integer''"<br />
Option "TapButton2" "''integer''"<br />
Option "TapButton3" "''integer''"<br />
...<br />
EndSection<br />
The ''integer'' of option "TapButton1" means which mouse button is reported on a non-corner one-finger tap. Usually it is 1.<br />
The ''integer'' of option "TapButton2" means which mouse button is reported on a non-corner two-finger tap. Usually it is 2.<br />
The ''integer'' of option "TapButton3" means which mouse button is reported on a non-corner three-finger tap. Usually it is 3.<br />
<br />
===There is a delay between a button tap and the actual click===<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
If you're using xorg-server with disabled input hotplugging change xorg.conf so that you have:<br />
<br />
Section "InputDevice"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
If you're using input hotplugging change your 11-x11-synaptics.fdi(or 99-x11-synaptics.fdi, in some cases) so that it contains:<br />
<br />
<merge key="input.x11_options.FastTaps" type="string">1</merge><br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
If you are using Xorg7.4, you may get a warning like this from /var/log/Xorg.0.log, that's because the driver will grab the event device for exclusive use when using the linux 2.6 event protocol. When it fails, X will warn this message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space. <br />
<br />
if you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in xorg.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
That will affect when next time you start X, and you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==Other Resources==<br />
<br />
Synaptics TouchPad driver for XOrg/XFree86 :<br />
[http://web.telia.com/~u89404340/touchpad/index.html]<br />
<br />
[[Category:Mouse]]<br />
[[Category:HOWTOs (English)]]</div>Gejrhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics&diff=68636Touchpad Synaptics2009-05-12T18:59:10Z<p>Gejr: /* Configuration via HAL policies (hotplugging enabled) */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|Touchpad Synaptics}}<br />
{{i18n_entry|German|Touchpad Synaptics (Deutsch)}}<br />
{{i18n_entry|Русский|Тачпад Synaptics}}<br />
{{i18n_entry|简体中文|触摸板 (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
This article will help install and configure the [http://w1.894.telia.com/~u89404340/touchpad/ synaptics input driver] for Synaptics Touchpads found on most notebooks.<br />
<br />
==Installation==<br />
The synaptics driver is now bundled as ''xf86-input-synaptics'', and is available from the standard repositories:<br />
# pacman -S xf86-input-synaptics<br />
<br />
==Configuration==<br />
There are two options configuring the Synaptics Touchpad. How you do so will depend on whether you have enabled [[Xorg input hotplugging]].<br />
<br />
===Configuration via xorg.conf (hotplugging disabled)===<br />
<br />
Edit ''/etc/X11/xorg.conf'' as root and add '''InputDevice "Touchpad" "SendCoreEvents"''' to the ''ServerLayout'', for example:<br />
Section "ServerLayout"<br />
...<br />
InputDevice "USB Mouse" "CorePointer"<br />
'''''InputDevice "SynapticsTouchpad" "SendCoreEvents"<br />
EndSection<br />
<br />
Add '''Load "synaptics"''' to the ''Module'' section, for example:<br />
Section "Module"<br />
...<br />
Load "glx"<br />
Load "freetype"<br />
'''''Load "synaptics"'''''<br />
...<br />
EndSection<br />
<br />
Lastly, add a new ''InputDevice'' section for the touchpad itself:<br />
Section "InputDevice"<br />
Identifier "SynapticsTouchpad"<br />
Driver "synaptics"<br />
Option "AlwaysCore" "true" # send events to CorePointer<br />
#Option "Device" "/dev/input/mice"<br />
Option "Device" "/dev/psaux"<br />
Option "Protocol" "auto-dev"<br />
Option "SHMConfig" "false" # configurable at runtime? security risk<br />
Option "LeftEdge" "1700" # x coord left<br />
Option "RightEdge" "5300" # x coord right<br />
Option "TopEdge" "1700" # y coord top<br />
Option "BottomEdge" "4200" # y coord bottom<br />
Option "FingerLow" "25" # pressure below this level triggers release<br />
Option "FingerHigh" "30" # pressure above this level triggers touch<br />
Option "MaxTapTime" "180" # max time in ms for detecting tap<br />
'''Option "VertEdgeScroll" "true" # enable vertical scroll zone'''<br />
'''Option "HorizEdgeScroll" "true" # enable horizontal scroll zone'''<br />
Option "CornerCoasting" "true" # enable continuous scroll with finger in corner<br />
Option "CoastingSpeed" "0.30" # corner coasting speed<br />
Option "VertScrollDelta" "100" # edge-to-edge scroll distance of the vertical scroll<br />
Option "HorizScrollDelta" "100" # edge-to-edge scroll distance of the horizontal scroll<br />
Option "MinSpeed" "0.10" # speed factor for low pointer movement<br />
Option "MaxSpeed" "0.60" # maximum speed factor for fast pointer movement<br />
Option "AccelFactor" "0.0020" # acceleration factor for normal pointer movements<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
EndSection<br />
<br />
The '''bolded''' lines are important because users must now explicitly enable the side and bottom scroll zones of the touchpad. If you already had an InputDevice section configured for the old touchpad driver, you'll still need to add these two lines if you wish to use the scroll zones.<br />
<br />
Save, exit and restart X. The touchpad should now have working scroll zones. You can further tweak the ''InputDevice'' settings if desired. See [[#Advanced_Configuration | Advanced Configuration]] for more information.<br />
<br />
Note that Xorg will automatically load the '''evdev''' and '''psmouse''' kernel modules required by synaptics, however you may also add them explicitly to the MODULES array in the /etc/rc.conf file if desired.<br />
<br />
====ALPS Touchpads====<br />
For ALPS Touchpads, if the above configuration does not provide the desired results, try the following configuration instead:<br />
Section "InputDevice"<br />
Identifier "Touchpad"<br />
Driver "synaptics"<br />
Option "Device" "/dev/input/mouse0"<br />
Option "Protocol" "auto-dev"<br />
Option "LeftEdge" "130"<br />
Option "RightEdge" "840"<br />
Option "TopEdge" "130"<br />
Option "BottomEdge" "640"<br />
Option "FingerLow" "7"<br />
Option "FingerHigh" "8"<br />
Option "MaxTapTime" "180"<br />
Option "MaxTapMove" "110"<br />
Option "EmulateMidButtonTime" "75"<br />
Option "VertScrollDelta" "20"<br />
Option "HorizScrollDelta" "20"<br />
Option "MinSpeed" "0.25"<br />
Option "MaxSpeed" "0.50"<br />
Option "AccelFactor" "0.010"<br />
Option "EdgeMotionMinSpeed" "200"<br />
Option "EdgeMotionMaxSpeed" "200"<br />
Option "UpDownScrolling" "1"<br />
Option "CircularScrolling" "1"<br />
Option "CircScrollDelta" "0.1"<br />
Option "CircScrollTrigger" "2"<br />
Option "SHMConfig" "on"<br />
Option "Emulate3Buttons" "on"<br />
EndSection<br />
<br />
===Configuration via HAL policies (hotplugging enabled)===<br />
If you have chosen to use [[Xorg input hotplugging]], then the next time you enter X, you will likely find that your touchpad works without any further configuration.<br />
<br />
If it does not or you want to tweak the configuration, remove every related configuration from the xorg.conf file. Keep only the '''Load "synaptics"''' line.<br />
<br />
Copy /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi into /etc/hal/fdi/policy/(note that in some cases it apparently needs to be renamed to 99-x11-synaptics.fdi). Edit it with your favourite editor.<br />
<br />
The file contains:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<br />
You have to add a line just before the closing '''</match>''' for every configuration option. What was:<br />
Option "RightEdge" "5300"<br />
in the '''xorg.conf''' becomes:<br />
<merge key="input.x11_options.RightEdge" type="string">5300</merge><br />
in this '''.fdi''' file.<br />
<br />
It could be useful to run a <br />
<br />
Here a simple '''<match>''' section to begin with, it activates the most wanted features and leaves many settings alone:<br />
<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.AlwaysCore" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
</match><br />
<br />
For my ALPS touchpad I needed to change:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
with:<br />
<match key="info.product" contains="AlpsPS/2 ALPS GlidePoint"><br />
<br />
You can find the exact information for your touchpad here in /proc/bus/input/devices.<br />
<br />
If the above config does not work for you, try this:<br />
cat /proc/bus/input/devices<br />
<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<match key="info.product" contains="Synaptics TouchPad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<!-- Arbitrary options can be passed to the driver using<br />
the input.x11_options property since xorg-server-1.5. --><br />
<!-- EXAMPLE:<br />
<merge key="input.x11_options.LeftEdge" type="string">120</merge><br />
--><br />
</match><br />
<match key="info.product" contains="AlpsPS/2 ALPS"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="appletouch"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<match key="info.product" contains="bcm5974"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
</match><br />
<merge key="input.x11_options.protocol" type="string">event</merge><br />
<merge key="input.x11_options.touchpadoff" type="string">0</merge><br />
<merge key="input.x11_options.shmconfig" type="string">on</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.vertedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.horizedgescroll" type="string">true</merge><br />
<merge key="input.x11_options.RightEdge" type="string">930</merge><br />
<merge key="input.x11_options.BottomEdge" type="string">700</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizScrollDelta" type="string">20</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
Or, if you find hal is not loading your settings, try this one. Note the "append key" line, required in some systems. Then add the options you prefer.<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.product" contains="SynPS/2 Synaptics TouchPad"><br />
<append key="info.capabilities" type="strlist">input.touchpad</append><br />
</match> <br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">3</merge><br />
<merge key="input.x11_options.TapButton3" type="string">2</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
==Advanced Configuration==<br />
=== Input device options ===<br />
The synaptics driver offers a number of options that can be customized. The following is a brief list of some of these options--see '''man synaptics''' for full details:<br />
<br />
'''Device''' defines where your synaptic device is located. See [[#Troubleshooting | Troubleshooting]] to find your device handler if it isn't /dev/input/mouse0 for you.<br />
<br />
'''MinSpeed''' and '''MaxSpeed''' are set to determine the minimum and maximum speed factor. An floating point value is expected.<br />
<br />
'''AccelFactor''' is the acceleration factor as well defined as a floating point value.<br />
<br />
''' VertScrollDelta''' and ''' HorizScrollDelta''' is an integer value defining scrolling speed. Smaller values result in faster scrolling.<br />
<br />
'''SHMConfig''' is a boolean value (on/off) for activating or deactivating shared memory. This ''must be enabled'' in order to monitor or configure your synaptics device with a client such as synclient, which is discussed below. Shared memory is also required if you want to use [[udev]] rules to disable the touchpad automatically when external mouse is plugged in (see [[#Disabling touchpad on plugged in mouse|the relevant section]] below).<br />
<br />
===Gsynaptics===<br />
Once the touchpad is configured, GNOME users can also install the '''gsynaptics''' package to enable a GUI-based control panel for the device:<br />
# pacman -S gsynaptics<br />
<br />
To save and load the settings from gsynaptics automatically, add '''gsynaptics-init''' to the list of ''Startup Programs'' found in ''System -> Preferences -> Sessions''.<br />
<br />
'''''Note:''' Non-GNOME users can also use gsynaptics by instead adding '''gsynaptics-init''' to their .xinitrc or .xsession startup scripts.''<br />
<br />
'''''Note:''' The '''gsynaptics''' web page [http://gsynaptics.sourceforge.jp/] indicates that it is becoming obsolete and users should consider '''GPointingDeviceSettings''' [http://live.gnome.org/GPointingDeviceSettings], currently available in AUR and as source code.''<br />
<br />
'''''Hotplugging Enabled:'''<br />
If you have hotplugging enabled you will need to make a new file in /etc/hal/fdi/policy called shmconfig.fdi with the following content.<br />
<br />
<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="input.x11_driver" string="synaptics"><br />
<merge key="input.x11_options.SHMConfig" type="string">True</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
===Fine tuning with synclient===<br />
The synclient monitor can display pressure and placement on the touchpad in real-time, allowing further refinement of the default synaptics settings. In order for synclient to work properly, the '''SHMConfig''' option must be set to '''on''' or '''true'''.<br />
<br />
You can start the synaptics monitor with the following command:<br />
$ synclient -m 100<br />
Where -m activates the monitor and the following number specifies the update interval in milliseconds.<br />
<br />
This monitor provides information about the current state of your touchpad. For example, if you move the mouse with the touchpad, the x and y values in the monitor will change. Therewith you can easy figure out your touchpad's dimension which is defined in the LeftEdge-, RightEdge-, BottomEdge- and TopEdge-Options.<br />
<br />
The abbreviations are explained as following:<br />
<br />
'''time'''<br />
:Time in seconds since the logging was started.<br />
<br />
'''x, y'''<br />
:The x/y coordinates of the finger on the touchpad. The origin is in the upper left corner.<br />
<br />
'''z'''<br />
:The pressure value. It represents the pressure you are using to navigate on your touchpad.<br />
<br />
'''f'''<br />
:Number of fingers currently touching the touchpad.<br />
<br />
'''w'''<br />
:Value that represents the finger width.<br />
<br />
'''l,r,u,d,m,multi'''<br />
:Those values represent the state of the left, right, up, down, middle and multi buttons pressed where zero means not pressed and one means pressed.<br />
<br />
'''gl,gm,gr'''<br />
:For touchpads which have a guest device, this are the associated button states for guest left, guest middle and guest right pressed (1) and not pressed (0).<br />
<br />
'''gdx, gdy'''<br />
:x/y coordinates of the guest device.<br />
<br />
If a value constantly is zero, it means that this option is not supported by your device.<br />
<br />
With this in mind you should be able to figure the proper values out for you.<br />
<br />
===Edge scrolling===<br />
To enable the scroll zones found along the edges of the touchpad, add one or both of the following options to the touchpad device section in /etc/X11/xorg.conf:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "VertEdgeScroll" "true" #vertical scrolling when dragging along the right edge.<br />
Option "HorizEdgeScroll" "true" #horizontal scrolling when dragging along the bottom edge.<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or if that doesn't work, ''/etc/hal/fdi/policy/99-x11-synaptics.fdi) for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge><br />
...<br />
</match><br />
<br />
===Two-Finger scrolling===<br />
Recent synaptics touchpads support two-finger scrolling. This allows you to use two fingers together anywhere on the touchpad, similar to the behaviour of Macbooks.<br />
<br />
If your hardware supports this feature, you can enable it by inserting the following lines into the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "VertTwoFingerScroll" "true" # vertical scroll anywhere with two fingers<br />
Option "HorizTwoFingerScroll" "true" # horizontal scroll anywhere with two fingers<br />
Option "EmulateTwoFingerMinZ" "120" # this may vary between different machines<br />
...<br />
EndSection<br />
<br />
''EmulateTwoFingerMinZ'' is only necessary for the Alps Touchpad, which several Dell machines have. ([http://ubuntuforums.org/showthread.php?t=516798&page=2#19 from Ubuntu forums])<br />
<br />
'''Firefox users:''' You might find the default behaviour of Firefox pretty annoying relating to the horizontal scrolling. Just see ''Firefox and special touchpad events'' below to find out how to disable it.<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">120</merge><br />
...<br />
</match><br />
<br />
===Circular scrolling===<br />
Circular scrolling is a feature that synaptics offers which closely resembles the behaviour of iPods. Instead of (or additional to) scrolling horizontally or vertically, you can scroll circularly. Some users find this faster and more precise.<br />
To enable circular scrolling, add the following options to the touchpad device section of /etc/X11/xorg.conf:<br />
Section "InputDevice"<br />
...<br />
Option "CircularScrolling" "on"<br />
Option "CircScrollTrigger" "0"<br />
...<br />
EndSection<br />
<br />
In ''/etc/hal/fdi/policy/11-x11-synaptics.fdi''(or ''/etc/hal/fdi/policy/99-x11-synaptics.fdi'') for [[#Configuration_via_HAL_policies_.28hotplugging_enabled.29 | Hotplugging]]:<br />
<match key="info.product" contains="Synaptics TouchPad"><br />
...<br />
<merge key="input.x11_options.CircularScrolling" type="string">on</merge><br />
<merge key="input.x11_options.CircScrollTrigger" type="string">0</merge><br />
...<br />
</match><br />
<br />
The option '''CircScrollTrigger''' may be one of the following values, determining which edge circular scrolling should start:<br />
0 All Edges<br />
1 Top Edge<br />
2 Top Right Corner<br />
3 Right Edge<br />
4 Bottom Right Corner<br />
5 Bottom Edge<br />
6 Bottom Left Corner<br />
7 Left Edge<br />
8 Top Left Corner<br />
<br />
Specifying something different from zero may be useful if you want to use circular scrolling in conjunction with horizontal and/or vertical scrolling. If you do so, the type of scrolling is determined by the edge you're starting.<br />
<br />
To scroll fast, draw small circles in the center of your touchpad. To scroll slowly and more precise, draw large circles.<br />
<br />
===Other features===<br />
By default, Synaptics touchpads are able to detect the number of fingers on the touchpad, ALPS touchpads are not. If the touchpad is tapped with two fingers, it will emulate a middle click. If the touchpad is typed with three fingers, a right click will be emulated.<br />
<br />
==Tips & Tricks==<br />
===Disable touchpad upon external mouse detection===<br />
In assistance to [[udev]], it is possible to automatically disable the touchpad if an external mouse has been plugged in. To achieve this, add the following udev rule to '''/etc/udev/rules.d/01-touchpad.rules''':<br />
ACTION=="add", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=1"<br />
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient -s TouchpadOff=0"<br />
<br />
SHMConfig must be enabled (see the [[#Configuration | Configuration]] section for details)<br />
<br />
==Troubleshooting==<br />
===My touchpad device isn't located at /dev/input/mouse0===<br />
If that's the case, you can use this command to display information about your all input devices:<br />
cat /proc/bus/input/devices<br />
Search for an input device which has the name "SynPS/2 Synaptics TouchPad". The Handler in this section will tell you which Device you have to specify in your xorg.conf.<br />
<br />
'''Example output:'''<br />
I: Bus=0011 Vendor=0002 Product=0007 Version=0000<br />
N: Name="SynPS/2 Synaptics TouchPad"<br />
P: Phys=isa0060/serio4/input0<br />
S: Sysfs=/class/input/input1<br />
H: Handlers=mouse0 event1 <br />
B: EV=b<br />
B: KEY=6420 0 7000f 0<br />
<br />
As your Handlers are mouse0 and event1, you use /dev/input/mouse0.<br />
<br />
===Stopping the mouse from clicking while typing===<br />
This is a neat little trick incorporated with the synaptics driver, you can actually make sure that the touchpad is disabled while typing. It is a very simple procedure, so here is how it is done.<br />
<br />
Just add the following line to your .xinitrc before you run your window manager:<br />
syndaemon -i 2 &<br />
<br />
The '''-i 2''' switch sets the idle time to 2 seconds. The idle time specifies how many seconds to wait after the last key press before enabling the touchpad again.<br />
<br />
Additionally you can add the '''-t''' switch that tells the daemon not to disable mouse movement when typing and only disable tapping and scrolling:<br />
syndaemon -t -i 2 &<br />
<br />
As usual you may find further information in the manpage:<br />
$ man syndaemon<br />
<br />
Note: Don't forget to turn on SHMConfig in your xorg-setup, either in /etc/xorg.conf (hotplugging disabled) or in /etc/hal/fdi/policy/11-x11-synaptics.fdi (hotplugging enabled). Some users may need to specify touchpad preferences in /etc/hal/fdi/policy/99-x11-synaptics.fdi, instead.<br />
<br />
Note: If you're using GDM as your login manager and Gnome, GDM will ignore commands added to .xinitrc, other than the command to start Gnome. To start syndaemon you need to use Gnome's Startup Applications Preferences program. Login to Gnome and go to System > Preferences > Startup Applications. In the Startup Programs tab click the Add button. Name the Startup Program whatever you like and input any comments you like (or leave this field blank). In the command field add:<br />
syndaemon -i 2 -d<br />
<br />
The "-d" option is necessary to start syndaemon as a background process, instead of the "&" which does this in .xinitrc. You can add other options as well, the same way you would in .xinitrc. When you're done click the Add button in the Add Startup Program dialogue. Make sure the check box next to the startup program you've created is checked, in the list of additional startup programs. Close the Startup Applications Preferences window and you're done.<br />
<br />
===Firefox and special touchpad events===<br />
Even though this problem isn't concerning the synaptics drivers, you will probably look up here for a solution anyway.<br />
By default firefox is set up to do special events on tapping or scrolling certain parts of your touchpad. <br />
You can edit the settings of those actions by typing '''about:config''' in your firefox address bar.<br />
Editing takes place by double clicking on those lines, true changes to false and vise versa, a numerical value you'll have to change manually.<br />
<br />
To prevent firefox from scrolling (back and forward) through the history and make it scroll the site, you have to edit the following settings:<br />
mousewheel.horizscroll.withnokey.action = 1<br />
mousewheel.horizscroll.withnokey.sysnumlines = true<br />
<br />
To prevent firefox from redirecting you to urls formed out of your clipboard content, on tapping the upper-rigt corner of your touchpad (or middle mouse button), you have to set the following line to false:<br />
middlemouse.contentLoadURL = false<br />
<br />
===Opera misinterprets horizontal scrolling===<br />
Same as above.<br />
To fix it, go to Tools -> Preferences -> Advanced -> Shortcuts. There you edit the mouse preferences: Delete the entries with "Button 5" and "Button 6".<br />
<br />
===Scrolling and multiple actions with synaptics on LG Laptops===<br />
These problems seems to be occurring on several models of LG laptops. <br />
Symptoms are that when pressing Mouse Button 1 synaptics interprets it as ScrollUP and a regular button 1 click, same goes for button 2.<br />
<br />
The scrolling can be solved by entering in xorg.conf:<br />
Option "UpDownScrolling" "0"<br />
<br />
This however will make synaptics interpret one button push as three. There is a patch written by Oskar Sandberg, found at http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html , that removes these clicks.<br />
<br />
However when trying to compile this with the latest version of synaptics it fails. The solution to this is using the GIT repository for synaptics. It can be found at http://web.telia.com/~u89404340/touchpad/synaptics/.git .<br />
<br />
There is also a package build file in the archlinux user repository to automate this, http://aur.archlinux.org/packages.php?ID=15983.<br />
<br />
Instructions on how to build this package, after downloading the tarball and unpacking it:<br />
cd synaptics-git<br />
makepkg <br />
<br />
If you want it to be automatically installed after it has build just add '-i' after makepkg.<br />
<br />
===Still can't get your USB (external) mouse working?===<br />
First, make sure your section describing the external mouse contains this line (or that the line looks like this):<br />
<br />
Option "Device" "/dev/input/mice"<br />
<br />
If the "Device" line is different, change it to the above, and try to restart X. If this doesn't solve your problem, make your '''touchpad''' the CorePointer in the "Server Layout" section:<br />
<br />
InputDevice "Touchpad" "CorePointer"<br />
<br />
and make your external device "SendCoreEvents":<br />
<br />
InputDevice "USB Mouse" "SendCoreEvents"<br />
<br />
finally add this to your external device's section:<br />
<br />
Option "SendCoreEvents" "true"<br />
<br />
If all of the above doesn't work for you, please check relevant bug trackers for possible bugs, or go through the forums to see if anyone has found a better solution.<br />
<br />
===Touchpad loses synchronization===<br />
Sometimes the cursor may freeze for several seconds or start acting on its own for no apparent reason. This is accompanied by similar records in /var/log/messages.log<br />
<br />
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away<br />
<br />
This problem has no general solution, but you may try several possible workarounds.<br />
*If you use cpu frequency scaling, try not using "ondemand" governor and use "performance" governor when possible, since touchpad may lose sync when cpu frequency changes.<br />
*Try not using acpi battery monitor.<br />
*Try to load psmouse with "proto=imps" option. To do that, add this line to your /etc/modprobe.conf<br />
<br />
options psmouse proto=imps<br />
<br />
*Try another desktop environment. Some users report, that this problem only occurs when using Xfce or Gnome and newer occurs under KDE.<br />
*If your touchpad loses sync not only under Linux, but under Windows too, this may be a hardware issue. So, you may need to replace the touchpad itself.<br />
<br />
===Touchpad doesn't have tapping function===<br />
Xorg v7.4 does not enable tapping by default. To enable, simply add following to the touchpad's InputDevice section in <tt>/etc/X11/xorg.conf</tt>:<br />
<br />
Section "InputDevice"<br />
...<br />
Option "TapButton1" "''integer''"<br />
Option "TapButton2" "''integer''"<br />
Option "TapButton3" "''integer''"<br />
...<br />
EndSection<br />
The ''integer'' of option "TapButton1" means which mouse button is reported on a non-corner one-finger tap. Usually it is 1.<br />
The ''integer'' of option "TapButton2" means which mouse button is reported on a non-corner two-finger tap. Usually it is 2.<br />
The ''integer'' of option "TapButton3" means which mouse button is reported on a non-corner three-finger tap. Usually it is 3.<br />
<br />
===There is a delay between a button tap and the actual click===<br />
If you experience a delay between the tap on the touchpad and the actual click that is registered you need to enable FastTaps:<br />
If you're using xorg-server with disabled input hotplugging change xorg.conf so that you have:<br />
<br />
Section "InputDevice"<br />
Identifier "Synaptics Touchpad"<br />
Driver "synaptics"<br />
...<br />
Option "FastTaps" "1"<br />
...<br />
EndSection<br />
<br />
If you're using input hotplugging change your 11-x11-synaptics.fdi(or 99-x11-synaptics.fdi, in some cases) so that it contains:<br />
<br />
<merge key="input.x11_options.FastTaps" type="string">1</merge><br />
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===<br />
If you are using Xorg7.4, you may get a warning like this from /var/log/Xorg.0.log, that's because the driver will grab the event device for exclusive use when using the linux 2.6 event protocol. When it fails, X will warn this message.<br />
<br />
Grabbing the event device means that no other user space or kernel space program sees the touchpad events. This is desirable if the X config file includes /dev/input/mice as an input device, but is undesirable if you want to monitor the device from user space. <br />
<br />
if you want to control it, add or modify the "GrabEventDevice" option in you touchpad section in xorg.conf:<br />
<br />
...<br />
Option "GrabEventDevice" "''boolean''"<br />
...<br />
<br />
That will affect when next time you start X, and you can also change it by using synclient. When changing this parameter with the synclient program, the change will not take effect until the synaptics driver is disabled and re-enabled. This can be achieved by switching to a text console and then switching back to X.<br />
<br />
==Other Resources==<br />
<br />
Synaptics TouchPad driver for XOrg/XFree86 :<br />
[http://web.telia.com/~u89404340/touchpad/index.html]<br />
<br />
[[Category:Mouse]]<br />
[[Category:HOWTOs (English)]]</div>Gejrhttps://wiki.archlinux.org/index.php?title=USB_flash_installation_medium&diff=57699USB flash installation medium2009-01-13T21:58:58Z<p>Gejr: /* The Flashnul Way */</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
<br />
== The New and Improved Way, on Linux ==<br />
<br />
Beginning from release 2008.06, USB images are provided. Download them from your [http://archlinux.org/download/ local mirror] (they are the .img files). To install, use the following command:<br />
<br />
dd if=image.img of=/dev/sd[x]<br />
<br />
where ''image.img'' is the path to the img file and ''/dev/sd[x]'' is your USB device. Make sure to use /dev/sdx and not /dev/sdx1.<br />
<br />
'''Note:''' This will irrevocably delete all files on your USB stick, so make sure you don't have any important files on the stick before doing this.<br />
<br />
== The New and Improved Way, on Windows ==<br />
<br />
To write the USB image on Windows, you will need [http://shounen.ru/soft/flashnul/ flashnul] ([http://translate.google.com/translate?u=http%3A%2F%2Fshounen.ru%2Fsoft%2Fflashnul%2F&hl=en&ie=UTF8&sl=ru&tl=en English version of the page]) or [http://www.cygwin.com/ Cygwin].<br />
<br />
=== The Flashnul Way ===<br />
<br />
From a command prompt, invoke flashnul with -p, and determine which device index is your USB drive. For example, my output looks like this:<br />
<br />
C:\>flashnul -p<br />
<br />
Avaible [sic] physical drives:<br />
0 size = 200048565760 (186 Gb)<br />
1 size = 400088457216 (372 Gb)<br />
2 size = 400088457216 (372 Gb)<br />
3 size = 4060086272 (3872 Mb)<br />
<br />
In my case, with a 4 GB USB drive, it is device index 3.<br />
<br />
When you have determined which device is the correct one, you can write the image to your drive, by invoking flashnul with the device index, -L, and the path to your image. In my case, it would be<br />
<br />
C:\>flashnul 3 -L path/to/arch/usb.img<br />
<br />
As long as you are really sure you want to write the data, type yes, then wait a bit for it to write. If you get an access denied error, unplugging and re-attaching the drive worked for me.<br />
<br />
<b>Note!</b><br />
<i>I had to do "C:\flashnul\flashnul.exe <b>H:</b> -L c:\archlinux-2008.06-core-i686.img" for it to work. I kept getting access denied if i just used the number. -gejr </i><br />
<br />
=== The Cygwin Way ===<br />
<br />
Make sure your cygwin installation contains the dd package.<br />
<br />
Place your image file in your home directory, in my case it is:<br />
<br />
C:\cygwin\home\John\<br />
<br />
Run cygwin as administrator (required for cygwin to access hardware). To write to your USB drive use the following command:<br />
<br />
dd if=image.img of=\\.\[x]:<br />
<br />
where image.img is the path to the img file within the cygwin directory and \\.\[x]: is your USB device where x is the windows designated letter, in my case "\\.\d:".<br />
<br />
'''Note:''' This will irrevocably delete all files on your USB stick, so make sure you don't have any important files on the stick before doing this.<br />
<br />
==Old Method from ISO, deprecated==<br />
*Prepare USB stick:<br />
The arch-ftp.img is about 150 MB, so it should fit on a 256 MB USB stick. The arch-core.img is ~300 MB and should fit on a 512 MB stick.<br />
<br />
1. Partition the USB stick.<br />
Create one partition with FAT16 type, make it bootable. Remember its name, such as /dev/sd[x]1.<br />
<br />
cfdisk /dev/sd[x]<br />
<br />
2. Make a FAT16 filesystem (you need dosfstools)<br />
<br />
mkdosfs /dev/sd[x]1<br />
<br />
3. Get the arch-base install ISO from www.archlinux.org<br />
<br />
4. Mount the iso to an temporary directory<br />
<br />
mkdir -p /mnt/archcd<br />
mount -o loop /Path/to/iso /mnt/archcd<br />
<br />
5. Mount the USB Stick<br />
<br />
mkdir -p /mnt/usb/<br />
mount /dev/sd[x]1 /mnt/usb/<br />
<br />
6. Copy the .iso to the USB Stick<br />
<br />
cp -ra /mnt/archcd/* /mnt/usb/<br />
<br />
<br />
7. Copy the boot data<br />
<br />
cd /mnt/usb/isolinux/<br />
cp vmlinuz /mnt/usb/<br />
cp initrd.img /mnt/usb/<br />
cp boot.* /mnt/usb/<br />
cp isolinux.cfg /mnt/usb/syslinux.cfg<br />
<br />
8. Install MBR and syslinux<sup>(1)</sup><br />
<br />
lilo -M /dev/sd[x] mbr<br />
syslinux -s /dev/sd[x]1<br />
<br />
===After booting from the USB stick:===<br />
<br />
Start the installation by logging in as root and invoke the command "/arch/setup".<br />
<br />
The installer should mount the source media automatically. If it fails you can manually mount the source media on the stick to the /src directory with the following command:<br />
<br />
mount /dev/sd[x] /src<br />
<br />
===Troubleshooting:===<br />
<br />
If you happen to run into "Cluster sizes larger than 16K not supported" error when running syslinux - don't panic, that just means you need to install more recent version of syslinux.<br />
<br />
<sup>(1)</sup> Using lilo is not really needed because syslinux does the "floppy" loading stuff. But if you get some error like "Can't load operating system" you have to perform the lilo command.</div>Gejr