You are not logged in.
Pages: 1
I tried to configure the touchpad on my laptop (Sony Vaio VGN-SR21M) using synaptics. The procedure described in the wiki with hotplugging disabled works: I simply pasted the Section "InputDevice" example configuration in xorg.conf, modified the Section "ServerLayout" and Section "Module" as described and it worked smoothly. But when I tried to apply the configuration for hotplugging using hal it didn't work. This is my /etc/hal/fdi/policy/11-x11-synaptics.fdi:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<match key="info.product" contains="Synaptics TouchPad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.Device" type="string">/dev/input/psaux</merge>
<merge key="input.x11_options.LeftEdge" type="string">120</merge>
<merge key="input.x11_options.LeftEdge" type="string">1700</merge>
<merge key="input.x11_options.RightEdge" type="string">5300</merge>
<merge key="input.x11_options.TopEdge" type="string">1700</merge>
<merge key="input.x11_options.BottomEdge" type="string">4200</merge>
<merge key="input.x11_options.FingerLow" type="string">25</merge>
<merge key="input.x11_options.FingerHigh" type="string">30</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.MaxTapMove" type="string">220</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
<merge key="input.x11_options.MinSpeed" type="string">0.10</merge>
<merge key="input.x11_options.MaxSpeed" type="string">0.70</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.00150</merge>
<merge key="input.x11_options.SHMConfig" type="string">on</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>
</match>
<match key="info.product" contains="AlpsPS/2 ALPS">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="appletouch">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="bcm5974">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</match>
</device>
</deviceinfo>
and here's the relevant piece of xorg.conf:
#Section "InputDevice"
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/input/mice"
# Option "ZAxisMapping" "4 5 6 7"
#EndSection
Section "ServerLayout"
#InputDevice "Mouse0" "CorePointer"
Identifier "X.org Configured"
Screen 0 "aticonfig-Screen[0]-0" 0 0
Screen "aticonfig-Screen[0]-1" RightOf "aticonfig-Screen[0]-0"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "xtrap"
Load "glx"
Load "dri"
Load "freetype"
Load "synaptics"
EndSection
Section "ServerFlags"
Option "AutoAddDevices" "False"
Option "Xinerama" "on"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "it"
Option "XkbVariant" ""
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-1"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "Mobility Radeon HD 3400 Series"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
Option "PairModes" ""
Option "DesktopSetup" "clone"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-1"
Driver "fglrx"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-1"
Device "aticonfig-Device[0]-1"
Monitor "aticonfig-Monitor[0]-1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Any hint? Thank you very much
Offline
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<!-- Arbitrary options can be passed to the driver using
the input.x11_options property since xorg-server-1.5. -->
<merge key="input.x11_options.LeftEdge" type="string">1700</merge>
<merge key="input.x11_options.RightEdge" type="string">5300</merge>
<merge key="input.x11_options.TopEdge" type="string">1700</merge>
<merge key="input.x11_options.BottomEdge" type="string">4200</merge>
<merge key="input.x11_options.FingerLow" type="string">25</merge>
<merge key="input.x11_options.FingerHigh" type="string">30</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.MaxTapMove" type="string">220</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
<merge key="input.x11_options.MinSpeed" type="string">0.20</merge>
<merge key="input.x11_options.MaxSpeed" type="string">0.50</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.0050</merge>
<merge key="input.x11_options.SHMConfig" type="string">on</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">on</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.CircularScrolling" type="string">on</merge>
<merge key="input.x11_options.CircScrollTrigger" type="string">3</merge>
</match>
</device>
</deviceinfo>
This one works for me.... You may have to change left edge, right edge etc .... use synclient to get those values
Offline
When I try to launc synclient, eg. synclient -h, I obtain a message like 'Can't access shared memory area. SHMConfig disabled?'. Maybe I have to start this SHMConfig service? Even if this is the case, how can I do it?
Last edited by snack (2009-01-17 20:00:31)
Offline
Check the output of 'lshal', it is probably loading the evdev driver instead of the synaptics driver. If it is loading evdev it means its not matching the first line in the fdi:
<match key="info.capabilities" contains="input.touchpad">
You should be able to find the corect input from the lshal output. For example you might need to change to:
<match key="info.capabilities" contains="input.mouse">
Offline
This is the touchpad section of lshal:
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port_logicaldev_input'
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port' (string)
info.product = 'SynPS/2 Synaptics TouchPad' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port_logicaldev_input' (string)
input.device = '/dev/input/event8' (string)
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port' (string)
input.product = 'SynPS/2 Synaptics TouchPad' (string)
input.x11_driver = 'synaptics' (string)
input.x11_options.AccelFactor = '0.00150' (string)
input.x11_options.BottomEdge = '4200' (string)
input.x11_options.Device = '/dev/input/psaux' (string)
input.x11_options.FingerHigh = '30' (string)
input.x11_options.FingerLow = '25' (string)
input.x11_options.HorizEdgeScroll = '1' (string)
input.x11_options.HorizTwoFingerScroll = '1' (string)
input.x11_options.LeftEdge = '1700' (string)
input.x11_options.MaxSpeed = '0.70' (string)
input.x11_options.MaxTapMove = '220' (string)
input.x11_options.MaxTapTime = '180' (string)
input.x11_options.MinSpeed = '0.10' (string)
input.x11_options.RightEdge = '5300' (string)
input.x11_options.SHMConfig = 'on' (string)
input.x11_options.TapButton1 = '1' (string)
input.x11_options.TapButton2 = '2' (string)
input.x11_options.TapButton3 = '3' (string)
input.x11_options.TopEdge = '1700' (string)
input.x11_options.VertEdgeScroll = '1' (string)
input.x11_options.VertScrollDelta = '100' (string)
input.x11_options.VertTwoFingerScroll = '1' (string)
linux.device_file = '/dev/input/event8' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/class/input/input8/event8' (string)
It seems that the options are correctly loaded, right? So maybe it's only matter of finding the right settings?
Edit: weird enough, synclient says that "Can't access shared memory area. SHMConfig disabled?" even if SHMConfig = 'on'.
Last edited by snack (2009-01-18 11:40:03)
Offline
hey,
last week i bought exactly the same laptop and had also problems with
synaptics and hal.
thats my solution:
xorg.conf
Section "Device"
Identifier "Card0"
Driver "fglrx"
VendorName "ATI Technologies Inc"
BoardName "Radeon Mobility HD 3470"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "True"
EndSection
11-x11-synaptics.fdi:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.AlwaysCore" type="string">true</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>
</match>
</device>
</deviceinfo>
quite vanilla, but now you can extend it with additionally values. ;-)
best wishes
Offline
Thank you, I found the problem: in the "ServerFlags" section there was a line Option "AutoAddDevices" "False", which prevented hal to correctly load the touchpad settings (I suppose...:|). Commenting out that line made everything OK.
BUT...
Now in my dual monitor configuration (laptop lcd + external monitor) the primary display is the external one, no matter how I modify xorg.conf. I suspect that hal, once the AutoAddDevices option was turned on, sets the primary display on its own, regardless of any setting in xorg.conf.
Can anyone confirm my suspects or tell me what's going on? And if it's really a hal issue, how can I configure it so that I can choose my primary screen?
Edit: I found a workaround. I configured the touchpad in xorg.conf and left the AutoAddDevice set to false (not a smart workaround but this works...:rolleyes:)
Last edited by snack (2009-01-23 10:22:49)
Offline
Pages: 1