On my Thinkpad X1 Carbon (first gen, I think) it looks pretty good. The only thing in xorg.conf is your proposed block.
Cursor moves: Yes Pad tapping: Yes, honours enable/disable Pad speed/scaling: Honours setting Swapsides: not honoured Regardless of setting, the scroll bar moves in sync with fingers (ie fingers away from me makes scroll bar go up / sends the page down) Looking at `xinput --test /dev/wsmouse0` I see button 4 scrolling up and 5 scrolling down, either way. wsconsctl output: $ wsconsctl mouse wsconsctl: /dev/wsmouse0: Permission denied $ wsconsctl | grep mouse wsconsctl: /dev/wskbd0: Permission denied wsconsctl: /dev/wsmouse0: Permission denied wsconsctl: /dev/ttyC0: Permission denied $ doas wsconsctl | grep mouse wsconsctl: Use explicit arg to view keyboard.map. mouse.type=synaptics mouse.rawmode=0 mouse.scale=1472,5678,1408,4732,0,46,63 mouse.tp.tapping=0 mouse.tp.scaling=0.200 mouse.tp.swapsides=1 mouse.tp.disable=0 mouse1.type=ps2 $ dmesg: OpenBSD 6.1-current (GENERIC.MP) #34: Tue Aug 1 18:56:18 MDT 2017 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 8383655936 (7995MB) avail mem = 8123219968 (7746MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdae9d000 (68 entries) bios0: vendor LENOVO version "G6ET96WW (2.56 )" date 04/29/2013 bios0: LENOVO 34486T7 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP TCPA SSDT SSDT SSDT HPET APIC MCFG ECDT FPDT ASF! UEFI UEFI MSDM SSDT SSDT DMAR UEFI SSDT DBG2 BGRT acpi0: wakeup devices LID_(S4) SLPB(S3) IGBE(S4) EXP2(S4) XHCI(S3) EHC1(S3) EHC2(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 14318179 Hz acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz, 1796.26 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,D EADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: TSC frequency 1796264010 Hz cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz, 1795.92 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,D EADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT cpu1: 256KB 64b/line 8-way L2 cache cpu1: smt 1, core 0, package 0 cpu2 at mainbus0: apid 2 (application processor) cpu2: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz, 1795.92 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,D EADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT cpu2: 256KB 64b/line 8-way L2 cache cpu2: smt 0, core 1, package 0 cpu3 at mainbus0: apid 3 (application processor) cpu3: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz, 1795.92 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,D EADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT cpu3: 256KB 64b/line 8-way L2 cache cpu3: smt 1, core 1, package 0 ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63 acpiec0 at acpi0 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (PEG_) acpiprt2 at acpi0: bus 2 (EXP1) acpiprt3 at acpi0: bus 3 (EXP2) acpicpu0 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS acpicpu1 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS acpicpu2 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS acpicpu3 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1, EHC2 acpitz0 at acpi0: critical temperature is 200 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB "MSFT9000" at acpi0 not configured "MSFT9001" at acpi0 not configured "LEN0071" at acpi0 not configured "LEN0030" at acpi0 not configured "SMO1200" at acpi0 not configured acpibat0 at acpi0: BAT0 model "45N1071" serial 9485 type LiP oem "SMP" acpiac0 at acpi0: AC unit offline "LEN0078" at acpi0 not configured acpithinkpad0 at acpi0 "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured "INT33A0" at acpi0 not configured acpivideo0 at acpi0: VID_ acpivout at acpivideo0 not configured acpivideo1 at acpi0: VID_ cpu0: Enhanced SpeedStep 1796 MHz: speeds: 1801, 1800, 1700, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel Core 3G Host" rev 0x09 inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 4000" rev 0x09 drm0 at inteldrm0 inteldrm0: msi inteldrm0: 1366x768, 32bpp wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation) wsdisplay0: screen 1-5 added (std, vt100 emulation) xhci0 at pci0 dev 20 function 0 "Intel 7 Series xHCI" rev 0x04: msi usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 "Intel 7 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured ehci0 at pci0 dev 26 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 16 usb1 at ehci0: USB revision 2.0 uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 azalia0 at pci0 dev 27 function 0 "Intel 7 Series HD Audio" rev 0x04: msi azalia0: codecs: Realtek ALC269, Intel/0x2806, using Realtek ALC269 audio0 at azalia0 ppb0 at pci0 dev 28 function 0 "Intel 7 Series PCIE" rev 0xc4: msi pci1 at ppb0 bus 2 sdhc0 at pci1 dev 0 function 0 "Ricoh 5U822 SD/MMC" rev 0x07: apic 2 int 16 sdhc0: SDHC 3.0, 50 MHz base clock sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma ppb1 at pci0 dev 28 function 1 "Intel 7 Series PCIE" rev 0xc4: msi pci2 at ppb1 bus 3 iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6205" rev 0x96: msi, MIMO 2T2R, MoW, address 84:3a:4b:cf:7e:e4 ehci1 at pci0 dev 29 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 23 usb2 at ehci1: USB revision 2.0 uhub2 at usb2 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 pcib0 at pci0 dev 31 function 0 "Intel QS77 LPC" rev 0x04 ahci0 at pci0 dev 31 function 2 "Intel 7 Series AHCI" rev 0x04: msi, AHCI 1.3 ahci0: port 0: 6.0Gb/s scsibus1 at ahci0: 32 targets sd0 at scsibus1 targ 0 lun 0: <ATA, SanDisk SD5SG212, 10.0> SCSI3 0/direct fixed naa.5001b449df708c96 sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin ichiic0 at pci0 dev 31 function 3 "Intel 7 Series SMBus" rev 0x04: apic 2 int 18 iic0 at ichiic0 isa0 at pcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) wsmouse0 at pms0 mux 0 wsmouse1 at pms0 mux 0 pms0: Synaptics clickpad, firmware 8.1, 0x1e2b1 0x940300 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 vmm0 at mainbus0: VMX/EPT efifb at mainbus0 not configured uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 ugen0 at uhub3 port 4 "Broadcom Corp BCM20702A0" rev 2.00/1.12 addr 3 uvideo0 at uhub3 port 6 configuration 1 interface 0 "SunplusIT INC. Integrated Camera" rev 2.00/14.12 addr 4 video0 at uvideo0 uhub4 at uhub2 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root scsibus3 at softraid0: 256 targets sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct fixed sd1: 102399MB, 512 bytes/sector, 209713649 sectors root on sd1a (e82efb9b90975aa4.a) swap on sd1b dump on sd1b umass0 at uhub0 port 2 configuration 1 interface 0 "SanDisk Cruzer Switch" rev 2.10/1.00 addr 2 umass0: using SCSI over Bulk-Only scsibus4 at umass0: 2 targets, initiator 0 sd2 at scsibus4 targ 1 lun 0: <SanDisk, Cruzer Switch, 1.00> SCSI4 0/direct removable serial.07815572220417119075 sd2: 7632MB, 512 bytes/sector, 15630336 sectors On 08/01/17 07:02, Ulf Brosziewski wrote: > In the long run the synaptics driver, which handles touchpad inputs in > X, may be a dead end of the input framework, and it's time to prepare > an alternative. The kernel contains an internal touchpad input driver > now, it's a part of wsmouse(4). It provides standard features - > two-finger/edge scrolling, software buttons for clickpads, tapping - > and various kinds of plankton required for usability. > > If you have a new snapshot (from July 27 or later) on a laptop with a > Synaptics, Apple, Alps, or Elantech-4 touchpad, you could help with > tests, more tests, and tests. In order to activate the driver, add the > following entry to /etc/xorg.conf and restart X (if the file isn't > present, simply create it with this content): > > Section "InputClass" > Identifier "wsmouse touchpad" > Driver "ws" > MatchIsTouchpad "on" > EndSection > > While I dont't expect bugs in the input processing part of the > driver ;-), it is difficult to assess how well the automatic > configuration covers the zoo of models out there, presumably it will > need some more fine-grained distinctions of hardware properties. I > would like to know where it works, works only halfway, or doesn't work > for you. As always, a dmesg would be appreciated. The output of > # wsconsctl | grep 'mouse' > could also be of interest here (you must run it as root). > > For now, X will treat the device like a mouse, please don't look for > touchpad-specific configuration options there. Tapping can be enabled > by the command > # wsconsctl mouse.tp.tapping=1 > If there is more than one wsmouse device, you should look up which one > has the "tp" fields and if it's not the first one (wsmouse0), add the > index to the prefix, e.g. > # wsconsctl mouse2.tp.tapping=1 > > The base speed of the pointer can be adjusted by increasing or > decreasing the value of > # wsconsctl mouse.tp.scaling > Please don't confuse it with the 'mouse.scale' field. > > # wsconsctl mouse.tp.swapsides=1 > will invert the order of software buttons areas (swapping external > buttons must still be configured in X). If edge scrolling is > enabled, the scroll area will be at the left edge of the touchpad. > > If you are using an external mouse device or a trackpoint, the command > # wsconsctl mouse.tp.disable=1 > may be helpful. It will disable pointer movement, scrolling, and > tapping. External buttons and software buttons remain enabled. >