# Synaptics Two-Finger Scroll



## lonestar (Oct 25, 2015)

Based on the release notes, it appears that vertical two-finger scrolling is now supported on at least _some_ Synaptics hardware.

I have a Thinkpad T530, purchased in 2013, which has pretty good hardware compatibility since 10.1. At this point the only thing that eludes me is two-finger scrolling.

I have tried setting the following in /boot/device.hints but it doesn't change anything.

```
hint.psm.0.flags="0x1000"
```

And changing the sysctl value for two_finger_scroll simply disables vertical edge scrolling while not enabling two-finger scrolling.

```
sysctl hw.psm.synaptics.two_finger_scroll=1
hw.psm.synaptics.two_finger_scroll: 0 -> 1
```

Maybe someone here has experienced something similar... here are my files.

/boot/loader.conf

```
hw.psm.synaptics_support="1"
hw.psm.trackpoint_support="1"

# shared memory settings
kern.ipc.shmall=32768
kern.ipc.shmmni=1024
kern.ipc.shmseg=1024
```

/etc/rc.conf

```
hostname="bsd.net"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
sshd_enable="YES"
moused_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

dbus_enable="YES"
moused_flags="-VH"
```

/etc/X11/xorg.conf (snippets)

```
Section "ServerLayout"
   Identifier  "X.org Configured"
   Screen  0  "Screen0" 0 0
   Screen  1  "Screen1" RightOf "Screen0"
   InputDevice  "Mouse0" "CorePointer"
   InputDevice  "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
   ModulePath  "/usr/local/lib/xorg/modules"
   . . .
EndSection

Section "Module"
   Load  "glx"
   Load  "freetype"
EndSection
. . .

Section "InputDevice"
   Identifier  "Mouse0"
   Driver  "mouse"
   Option    "Protocol" "auto"
   Option    "Device" "/dev/sysmouse"
   Option    "ZAxisMapping" "4 5 6 7"
EndSection
. . .
```

Then some further investigation of logs:

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

Complete Xorg.0.log

```
[  19.878]
X.Org X Server 1.14.7
Release Date: 2014-06-05
[  19.878] X Protocol Version 11, Revision 0
[  19.878] Build Operating System: FreeBSD 10.1-RELEASE-p22 amd64
[  19.878] Current Operating System: FreeBSD bsd.net 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 15:26:37 UTC 2015  root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
[  19.878] Build Date: 20 October 2015  03:54:14AM
[  19.878]
[  19.878] Current version of pixman: 0.32.6
[  19.878]    Before reporting problems, check http://wiki.x.org
   to make sure that you have the latest version.
[  19.878] Markers: (--) probed, (**) from config file, (==) default setting,
   (++) from command line, (!!) notice, (II) informational,
   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  19.878] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Oct 25 11:35:55 2015
[  19.881] (==) Using config file: "/etc/X11/xorg.conf"
[  19.881] (==) ServerLayout "X.org Configured"
[  19.881] (**) |-->Screen "Screen0" (0)
[  19.881] (**) |  |-->Monitor "Monitor0"
[  19.882] (**) |  |-->Device "Card0"
[  19.882] (**) |-->Screen "Screen1" (1)
[  19.882] (**) |  |-->Monitor "Monitor1"
[  19.882] (**) |  |-->Device "Card1"
[  19.882] (**) |-->Input Device "Mouse0"
[  19.882] (**) |-->Input Device "Keyboard0"
[  19.882] (==) Automatically adding devices
[  19.882] (==) Automatically enabling devices
[  19.882] (==) Not automatically adding GPU devices
[  19.891] (**) FontPath set to:
   /usr/local/share/fonts/misc/,
   /usr/local/share/fonts/TTF/,
   /usr/local/share/fonts/OTF/,
   /usr/local/share/fonts/Type1/,
   /usr/local/share/fonts/100dpi/,
   /usr/local/share/fonts/75dpi/,
   /usr/local/share/fonts/Droid/,
   /usr/local/share/fonts/anonymous-pro/,
   /usr/local/share/fonts/dejavu/,
   /usr/local/share/fonts/webfonts/,
   /usr/local/share/fonts/misc/,
   /usr/local/share/fonts/TTF/,
   /usr/local/share/fonts/OTF/,
   /usr/local/share/fonts/Type1/,
   /usr/local/share/fonts/100dpi/,
   /usr/local/share/fonts/75dpi/
[  19.891] (**) ModulePath set to "/usr/local/lib/xorg/modules"
[  19.891] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[  19.891] (WW) Disabling Mouse0
[  19.891] (WW) Disabling Keyboard0
[  19.891] (II) Loader magic: 0x7f9af0
[  19.891] (II) Module ABI versions:
[  19.891]    X.Org ANSI C Emulation: 0.4
[  19.891]    X.Org Video Driver: 14.1
[  19.891]    X.Org XInput driver : 19.1
[  19.891]    X.Org Server Extension : 7.0
[  19.894] (--) PCI:*(0:0:2:0) 8086:0166:17aa:21f6 rev 9, Mem @ 0xf0000000/4194304, 0xe0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/65536
[  19.894] Initializing built-in extension Generic Event Extension
[  19.894] Initializing built-in extension SHAPE
[  19.894] Initializing built-in extension MIT-SHM
[  19.894] Initializing built-in extension XInputExtension
[  19.894] Initializing built-in extension XTEST
[  19.894] Initializing built-in extension BIG-REQUESTS
[  19.894] Initializing built-in extension SYNC
[  19.894] Initializing built-in extension XKEYBOARD
[  19.894] Initializing built-in extension XC-MISC
[  19.894] Initializing built-in extension XINERAMA
[  19.894] Initializing built-in extension XFIXES
[  19.894] Initializing built-in extension RENDER
[  19.894] Initializing built-in extension RANDR
[  19.894] Initializing built-in extension COMPOSITE
[  19.894] Initializing built-in extension DAMAGE
[  19.894] Initializing built-in extension MIT-SCREEN-SAVER
[  19.894] Initializing built-in extension DOUBLE-BUFFER
[  19.894] Initializing built-in extension RECORD
[  19.894] Initializing built-in extension DPMS
[  19.894] Initializing built-in extension X-Resource
[  19.894] Initializing built-in extension XVideo
[  19.894] Initializing built-in extension XVideo-MotionCompensation
[  19.894] Initializing built-in extension XFree86-VidModeExtension
[  19.894] Initializing built-in extension XFree86-DGA
[  19.894] Initializing built-in extension XFree86-DRI
[  19.894] Initializing built-in extension DRI2
[  19.894] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[  19.894] (II) LoadModule: "glx"
[  19.895] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  19.898] (II) Module glx: vendor="X.Org Foundation"
[  19.898]    compiled for 1.14.7, module version = 1.0.0
[  19.898]    ABI class: X.Org Server Extension, version 7.0
[  19.898] (==) AIGLX enabled
[  19.899] Loading extension GLX
[  19.899] (II) LoadModule: "intel"
[  19.900] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[  19.904] (II) Module intel: vendor="X.Org Foundation"
[  19.904]    compiled for 1.14.7, module version = 2.21.15
[  19.904]    Module class: X.Org Video Driver
[  19.904]    ABI class: X.Org Video Driver, version 14.1
[  19.904] (II) LoadModule: "vesa"
[  19.904] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
[  19.905] (II) Module vesa: vendor="X.Org Foundation"
[  19.905]    compiled for 1.14.7, module version = 2.3.3
[  19.905]    Module class: X.Org Video Driver
[  19.905]    ABI class: X.Org Video Driver, version 14.1
[  19.905] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
   i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
   915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
   Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
   GM45, 4 Series, G45/G43, Q45/Q43, G41, B43, HD Graphics,
   HD Graphics 2000, HD Graphics 3000, HD Graphics 2500,
   HD Graphics 4000, HD Graphics P4000, HD Graphics 4600,
   HD Graphics 5000, HD Graphics P4600/P4700, Iris(TM) Graphics 5100,
   HD Graphics 4400, HD Graphics 4200, Iris(TM) Pro Graphics 5200
[  19.905] (II) VESA: driver for VESA chipsets: vesa
[  19.905] (--) Using syscons driver with X support (version 2.0)
[  19.905] (--) using VT number 9

[  20.829] (WW) Falling back to old probe method for vesa
[  20.829] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  20.829] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[  20.829] (==) intel(0): RGB weight 888
[  20.829] (==) intel(0): Default visual is TrueColor
[  20.829] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 4000
[  20.829] (**) intel(0): Relaxed fencing enabled
[  20.829] (**) intel(0): Wait on SwapBuffers? enabled
[  20.829] (**) intel(0): Triple buffering? enabled
[  20.829] (**) intel(0): Framebuffer tiled
[  20.829] (**) intel(0): Pixmaps tiled
[  20.829] (**) intel(0): 3D buffers tiled
[  20.829] (**) intel(0): SwapBuffers wait enabled
[  20.829] (==) intel(0): video overlay key set to 0x101fe
[  20.829] (II) intel(0): Output LVDS1 using monitor section Monitor0
[  20.830] (II) intel(0): Output VGA1 has no monitor section
[  21.036] (II) intel(0): Output HDMI1 has no monitor section
[  21.054] (II) intel(0): Output DP1 has no monitor section
[  21.064] (II) intel(0): Output HDMI2 has no monitor section
[  21.074] (II) intel(0): Output HDMI3 has no monitor section
[  21.092] (II) intel(0): Output DP2 has no monitor section
[  21.110] (II) intel(0): Output DP3 has no monitor section
[  21.111] (II) intel(0): EDID for output LVDS1
[  21.111] (II) intel(0): Manufacturer: LEN  Model: 40b1  Serial#: 0
[  21.111] (II) intel(0): Year: 2009  Week: 0
[  21.111] (II) intel(0): EDID Version: 1.3
[  21.111] (II) intel(0): Digital Display Input
[  21.111] (II) intel(0): Max Image Size [cm]: horiz.: 35  vert.: 19
[  21.111] (II) intel(0): Gamma: 2.20
[  21.111] (II) intel(0): DPMS capabilities: StandBy Suspend Off
[  21.112] (II) intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
[  21.112] (II) intel(0): First detailed timing is preferred mode
[  21.112] (II) intel(0): redX: 0.610 redY: 0.348  greenX: 0.316 greenY: 0.589
[  21.112] (II) intel(0): blueX: 0.151 blueY: 0.066  whiteX: 0.313 whiteY: 0.329
[  21.112] (II) intel(0): Manufacturer's mask: 0
[  21.112] (II) intel(0): Supported detailed timing:
[  21.112] (II) intel(0): clock: 108.5 MHz  Image Size:  345 x 194 mm
[  21.112] (II) intel(0): h_active: 1600  h_sync: 1648  h_sync_end 1680 h_blank_end 1920 h_border: 0
[  21.112] (II) intel(0): v_active: 900  v_sync: 903  v_sync_end 908 v_blanking: 942 v_border: 0
[  21.112] (II) intel(0): Supported detailed timing:
[  21.112] (II) intel(0): clock: 90.4 MHz  Image Size:  345 x 194 mm
[  21.112] (II) intel(0): h_active: 1600  h_sync: 1648  h_sync_end 1680 h_blank_end 1920 h_border: 0
[  21.112] (II) intel(0): v_active: 900  v_sync: 903  v_sync_end 908 v_blanking: 942 v_border: 0
[  21.112] (II) intel(0): Unknown vendor-specific block f
[  21.112] (II) intel(0):  LP156WD1-TLB2
[  21.112] (II) intel(0): EDID (in hex):
[  21.112] (II) intel(0):    00ffffffffffff0030aeb14000000000
[  21.112] (II) intel(0):    0013010380231378ea43c59c59519626
[  21.112] (II) intel(0):    11505400000001010101010101010101
[  21.112] (II) intel(0):    010101010101622a404061842a303020
[  21.112] (II) intel(0):    350059c2100000195323404061842a30
[  21.112] (II) intel(0):    3020350059c2100000190000000f00a9
[  21.112] (II) intel(0):    0932a9092816090030e40002000000fe
[  21.112] (II) intel(0):    004c503135365744312d544c423200e2
[  21.112] (II) intel(0): Not using default mode "320x240" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "400x300" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "400x300" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "512x384" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "640x480" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "640x512" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "800x600" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "896x672" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "928x696" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "960x720" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "700x525" (doublescan mode not supported)
[  21.112] (II) intel(0): Not using default mode "1024x768" (doublescan mode not supported)
[  21.112] (II) intel(0): Printing probed modes for output LVDS1
[  21.112] (II) intel(0): Modeline "1600x900"x60.0  108.50  1600 1648 1680 1920  900 903 908 942 -hsync -vsync (56.5 kHz eP)
[  21.112] (II) intel(0): Modeline "1600x900"x50.0  90.43  1600 1648 1680 1920  900 903 908 942 -hsync -vsync (47.1 kHz e)
[  21.112] (II) intel(0): Modeline "1024x768"x60.0  65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz d)
[  21.112] (II) intel(0): Modeline "800x600"x60.3  40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz d)
[  21.112] (II) intel(0): Modeline "800x600"x56.2  36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz d)
[  21.112] (II) intel(0): Modeline "640x480"x59.9  25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz d)
[  21.112] (II) intel(0): EDID for output VGA1
[  21.318] (II) intel(0): EDID for output HDMI1
[  21.336] (II) intel(0): EDID for output DP1
[  21.346] (II) intel(0): EDID for output HDMI2
[  21.356] (II) intel(0): EDID for output HDMI3
[  21.374] (II) intel(0): EDID for output DP2
[  21.392] (II) intel(0): EDID for output DP3
[  21.392] (II) intel(0): Output LVDS1 connected
[  21.392] (II) intel(0): Output VGA1 disconnected
[  21.392] (II) intel(0): Output HDMI1 disconnected
[  21.392] (II) intel(0): Output DP1 disconnected
[  21.392] (II) intel(0): Output HDMI2 disconnected
[  21.392] (II) intel(0): Output HDMI3 disconnected
[  21.392] (II) intel(0): Output DP2 disconnected
[  21.392] (II) intel(0): Output DP3 disconnected
[  21.392] (II) intel(0): Using exact sizes for initial modes
[  21.392] (II) intel(0): Output LVDS1 using initial mode 1600x900
[  21.392] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[  21.392] (II) intel(0): Kernel page flipping support detected, enabling
[  21.392] (==) intel(0): DPI set to (96, 96)
[  21.392] (II) Loading sub module "fb"
[  21.392] (II) LoadModule: "fb"
[  21.392] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[  21.394] (II) Module fb: vendor="X.Org Foundation"
[  21.394]    compiled for 1.14.7, module version = 1.0.0
[  21.394]    ABI class: X.Org ANSI C Emulation, version 0.4
[  21.394] (II) Loading sub module "dri2"
[  21.394] (II) LoadModule: "dri2"
[  21.394] (II) Module "dri2" already built-in
[  21.394] (II) UnloadModule: "vesa"
[  21.394] (II) Unloading vesa
[  21.394] (==) Depth 24 pixmap format is 32 bpp
[  21.394] (II) intel(0): [DRI2] Setup complete
[  21.394] (II) intel(0): [DRI2]  DRI driver: i965
[  21.395] (II) intel(0): Allocated new frame buffer 1600x900 stride 6656, tiled
[  21.398] (II) UXA(0): Driver registered support for the following operations:
[  21.398] (II)  solid
[  21.398] (II)  copy
[  21.398] (II)  composite (RENDER acceleration)
[  21.398] (II)  put_image
[  21.398] (II)  get_image
[  21.398] (==) intel(0): Backing store disabled
[  21.398] (==) intel(0): Silken mouse enabled
[  21.399] (II) intel(0): Initializing HW Cursor
[  21.399] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[  21.400] (==) intel(0): DPMS enabled
[  21.400] (==) intel(0): Intel XvMC decoder enabled
[  21.400] (II) intel(0): Set up textured video
[  21.401] (II) intel(0): [XvMC] xvmc_vld driver initialized.
[  21.401] (II) intel(0): direct rendering: DRI2 Enabled
[  21.415] (--) RandR disabled
[  21.489] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[  21.489] (II) AIGLX: enabled GLX_INTEL_swap_event
[  21.489] (II) AIGLX: enabled GLX_ARB_create_context
[  21.489] (II) AIGLX: enabled GLX_ARB_create_context_profile
[  21.489] (II) AIGLX: enabled GLX_EXT_create_context_es2_profile
[  21.489] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
[  21.489] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[  21.489] (II) AIGLX: Loaded and initialized i965
[  21.489] (II) GLX: Initialized DRI2 GL provider for screen 0
[  21.490] (II) intel(0): Setting screen physical size to 423 x 238
[  21.634] (II) config/devd: probing input devices...
[  21.634] (II) config/devd: adding input device (null) (/dev/kbdmux)
[  21.634] (II) LoadModule: "kbd"
[  21.635] (II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so
[  21.635] (II) Module kbd: vendor="X.Org Foundation"
[  21.635]    compiled for 1.14.7, module version = 1.8.0
[  21.635]    Module class: X.Org XInput Driver
[  21.635]    ABI class: X.Org XInput driver, version 19.1
[  21.635] (II) Using input driver 'kbd' for 'kbdmux'
[  21.635] (**) kbdmux: always reports core events
[  21.635] (**) kbdmux: always reports core events
[  21.635] (**) Option "Protocol" "standard"
[  21.635] (**) Option "XkbRules" "base"
[  21.635] (**) Option "XkbModel" "pc105"
[  21.635] (**) Option "XkbLayout" "us"
[  21.635] (**) Option "config_info" "devd:kbdmux"
[  21.635] (II) XINPUT: Adding extended input device "kbdmux" (type: KEYBOARD, id 6)
[  21.637] (II) config/devd: kbdmux is enabled, ignoring device atkbd0
[  21.637] (II) config/devd: adding input device (null) (/dev/sysmouse)
[  21.637] (II) LoadModule: "mouse"
[  21.637] (II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
[  21.639] (II) Module mouse: vendor="X.Org Foundation"
[  21.639]    compiled for 1.14.7, module version = 1.9.1
[  21.639]    Module class: X.Org XInput Driver
[  21.639]    ABI class: X.Org XInput driver, version 19.1
[  21.639] (II) Using input driver 'mouse' for 'sysmouse'
[  21.639] (**) sysmouse: always reports core events
[  21.639] (**) Option "Device" "/dev/sysmouse"
[  21.639] (==) sysmouse: Protocol: "Auto"
[  21.639] (**) sysmouse: always reports core events
[  21.639] (==) sysmouse: Emulate3Buttons, Emulate3Timeout: 50
[  21.639] (**) sysmouse: ZAxisMapping: buttons 4 and 5
[  21.639] (**) sysmouse: Buttons: 5
[  21.639] (**) Option "config_info" "devd:sysmouse"
[  21.639] (II) XINPUT: Adding extended input device "sysmouse" (type: MOUSE, id 7)
[  21.639] (**) sysmouse: (accel) keeping acceleration scheme 1
[  21.639] (**) sysmouse: (accel) acceleration profile 0
[  21.639] (**) sysmouse: (accel) acceleration factor: 2.000
[  21.639] (**) sysmouse: (accel) acceleration threshold: 4
[  21.639] (II) sysmouse: SetupAuto: hw.iftype is 4, hw.model is 0
[  21.639] (II) sysmouse: SetupAuto: protocol is SysMouse
[  21.639] (II) config/devd: device /dev/psm0 already opened
```

`$ dmesg | grep psm`

```
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Synaptics Touchpad, device ID 0
```


----------



## Juanitou (Oct 25, 2015)

Besides the obvious:

```
hw.psm.synaptics.two_finger_scroll=1
```
...which is enabled by default, I have checked here (Lenovo S440), where it works, and the only significant difference I found with respect to your configuration and X log is that I have this line in the ServerLayout section of xorg.conf:

```
Option "AutoAddDevices" "false"
```
This means that devd(8) is not used to provide the list of input devices, and this changes my logs with respect to yours, but I don't know if it is important. I'd try it.

For what is worth, two-finger scroll works without a xorg.conf, I only created it to reverse the scrolling sense.


----------



## lonestar (Oct 25, 2015)

Hmmm, strange.

I added the line you suggested to xorg.conf, as well as the line for two-finger scrolling in /etc/sysctl.conf. And while I verified the resulting changes in Xorg.0.log, nothing about the previous behavior was changed.

It's weird that a two-finger scrolling motion doesn't actually move the mouse cursor, indicating that 2 fingers are indeed recognized; but there is no scrolling. 

I'll keep chipping away at it as I pick up new ideas.

It seems like a minor issue, but using the vertical edge scrolling with one finger is proving to be very clumsy for me, after so many years using two fingers in the middle of the touchpad. I also tend to trigger a lot of unintentional scrolling motions with the side-scroll method.


*EDIT: *
Is it possible that using UEFI could cause different behavior? I can't imagine why it would, but who knows.


----------



## Juanitou (Oct 26, 2015)

lonestar said:


> Is it possible that using UEFI could cause different behavior? I can't imagine why it would, but who knows.


I don’t think so. Here, UEFI is used. Sorry for not being more useful.


----------



## lonestar (Oct 26, 2015)

Juanitou said:


> I don’t think so. Here, UEFI is used. Sorry for not being more useful.



No problem.... thanks for your response! I'm using EFI as well, so our situations are almost identical. I suspect there's some combination of configs that could make it work, I'll just have to find out what they are.


----------



## aragats (Dec 1, 2015)

Here with T430 it works properly, to enable vertical scrolling I have to:
`sysctl hw.psm.synaptics.two_finger_scroll=0`

By default it's set to two-finger scrolling:

```
hw.psm.synaptics.two_finger_scroll=1
```

However, the line added to /boot/loader.conf

```
hw.psm.synaptics.two_finger_scroll=0
```
has no effect, it's simply ignored, after reboot I have to assign 0 every time manually to enable the edge scrolling.


----------



## tobik@ (Dec 1, 2015)

Put it in /etc/sysctl.conf instead.


----------



## aragats (Dec 1, 2015)

Thanks! Does it mean that I should move all 
	
	



```
hw.psm.synaptics.*
```
 stuff from /boot/loader.conf to /etc/sysctl.conf as well?
What's so specific with synaptics stuff?


----------



## tobik@ (Dec 1, 2015)

aragats said:


> What's so specific with synaptics stuff?


This is not synaptics specific. It's the difference between loader tunables and sysctl tunables. Some loader tunables can only be set before the kernel boots (so should be set in /boot/loader.conf). You can get a list of loader tunables with `sysctl -Tad`. Everything not in that list should be added to /etc/sysctl.conf. 

(To make matters more confusing some loader tunables can also be set later in /etc/sysctl.conf.)


----------



## rhsbsd (Dec 24, 2015)

That's funny, I have 
	
	



```
hw.psm.synaptics_support="1"
```
 in /boot/loader.conf but I do not see this in the list. It's been there a long time. If I comment it out and add it to /etc/sysctl.conf my system complains "unknown OID" at boot time and the touch pad losses functionality.


----------



## lonestar (Dec 27, 2015)

aragats said:


> Here with T430 it works properly, to enable vertical scrolling I have to:
> `sysctl hw.psm.synaptics.two_finger_scroll=0`
> 
> By default it's set to two-finger scrolling:
> ...



In my case, the value of hw.psm.synaptics.two_finger_scroll is set to 0 by default. In that state, one finger side scrolling works, although it's not really smooth enough for fine-grained control. However, setting the value of hw.psm.synaptics.two_finger_scroll to "1" still doesn't enable two-finger scrolling; but _it does disable one-finger edge scrolling_. Apparently these two things are mutually exclusive. 

¯\_(ツ)_/¯

All I know for sure is that I hate using the touchpad's edge scroll method, to the point where I just end up using Debian instead when I don't have a USB mouse available.


----------

