Re: X configuration changes for synaptics - please test
On Sat, Jun 18, 2011 at 01:40:56AM +0600, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. New patches kernel - http://koba.devio.us/distfiles/synaptics.v5.diff xenocara - http://koba.devio.us/distfiles/xf86-input-synaptics.diff cd /usr/xenocara/driver/xf86-input-synaptics patch /foo/bar/xf86-input-synaptics.diff make -f Makefile.bsd-wrapper obj build Changes * small rework and simplify * enable advanced gesture mode if supported (for multitouch toucpads - return correct number of fingers on touchpad) * fix bug lock up touchpad ( not allowing to move the pointer, or click ) Thanks Andrew Fresh, for assistance in testing. -- Alexandr Shadchin
Re: X configuration changes for synaptics - please test
This seems to resolve my issues on the T410. No lockups yet! On Wed, Jul 6, 2011 at 1:05 AM, Alexandr Shadchin alexandr.shadc...@gmail.com wrote: On Sat, Jun 18, 2011 at 01:40:56AM +0600, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff ) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. New patches kernel - http://koba.devio.us/distfiles/synaptics.v5.diff xenocara - http://koba.devio.us/distfiles/xf86-input-synaptics.diff cd /usr/xenocara/driver/xf86-input-synaptics patch /foo/bar/xf86-input-synaptics.diff make -f Makefile.bsd-wrapper obj build Changes * small rework and simplify * enable advanced gesture mode if supported (for multitouch toucpads - return correct number of fingers on touchpad) * fix bug lock up touchpad ( not allowing to move the pointer, or click ) Thanks Andrew Fresh, for assistance in testing. -- Alexandr Shadchin
Re: X configuration changes for synaptics - please test
Attached is my dmesg output and Xorg.0.log from my Dell Vostro A90. My primary motivation for testing this was to see if I could disable tapping and by default, that is how it works. I am now also able to scroll with the touchpad. All of this works seamlessly without an xorg.conf. Everything has been working as expected since yesterday when I installed everything. Great work guys! I used the two initial patches (wscons_config.2.diff and xf86-input-keyboard.diff) along with synaptics.v2.diff. Bryan [demime 1.01d removed an attachment of type application/octet-stream which had a name of mini9-dmesg] [demime 1.01d removed an attachment of type text/x-log which had a name of mini9-Xorg.0.log]
Re: X configuration changes for synaptics - please test
Sorry about that. Attached instead of inline. My dmesg and Xorg.0.log are now inline. Bryan OpenBSD 4.9-current (GENERIC.MP) #0: Sun Jun 19 17:02:51 PDT 2011 r...@nine.dsvc.net:/usr/src/sys/arch/i386/compile/GENERIC.MP cpu0: Intel(R) Atom(TM) CPU N270 @ 1.60GHz (GenuineIntel 686-class) 1.60 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,TM2,SSSE3,xTPR,PDCM,MOVBE real mem = 2137387008 (2038MB) avail mem = 2092212224 (1995MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 03/05/09, BIOS32 rev. 0 @ 0xfdc40, SMBIOS rev. 2.5 @ 0xf2350 (34 entries) bios0: vendor Dell Inc. version A04 date 03/05/2009 bios0: Dell Inc. Vostro A90 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP APIC HPET MCFG TCPA TMOR APIC BOOT SSDT acpi0: wakeup devices LID0(S3) HDEF(S4) PXS1(S4) PXS2(S4) PXS3(S3) PXS4(S4) PXS5(S4) PXS6(S4) USB1(S0) USB2(S0) USB3(S0) USB4(S0) USB7(S0) SLT0(S4) SLT1(S4) SLT2(S4) SL T3(S4) SLT6(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: apic clock running at 133MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Atom(TM) CPU N270 @ 1.60GHz (GenuineIntel 686-class) 1.60 GHz cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,TM2,SSSE3,xTPR,PDCM,MOVBE ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 24 pins ioapic0: misconfigured as apic 2, remapped to apid 1 acpihpet0 at acpi0: 14318179 Hz acpimcfg0 at acpi0 addr 0xe000, bus 0-255 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 2 (RP01) acpiprt2 at acpi0: bus 3 (RP02) acpiprt3 at acpi0: bus 4 (RP03) acpiprt4 at acpi0: bus -1 (RP04) acpiprt5 at acpi0: bus -1 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiprt7 at acpi0: bus 5 (PCIB) acpiec0 at acpi0 acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpitz0 at acpi0: critical temperature is 102 degC acpibtn0 at acpi0: LID0 acpibtn1 at acpi0: PWRB acpibtn2 at acpi0: SLPB acpiac0 at acpi0: AC unit online acpibat0 at acpi0: BAT1 serial 11 type Lion oem DELL acpivideo0 at acpi0: GFX0 acpivout0 at acpivideo0: LCD_ bios0: ROM list: 0xc/0xec00! 0xcf000/0x1000 0xe/0x1800! cpu0: Enhanced SpeedStep 1597 MHz: speeds: 1600, 1333, 1067, 800 MHz pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 0 function 0 Intel 82945GME Host rev 0x03 vga1 at pci0 dev 2 function 0 Intel 82945GME Video rev 0x03 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0xd000, size 0x1000 inteldrm0 at vga1: apic 1 int 16 drm0 at inteldrm0 Intel 82945GM Video rev 0x03 at pci0 dev 2 function 1 not configured azalia0 at pci0 dev 27 function 0 Intel 82801GB HD Audio rev 0x02: msi azalia0: codecs: Realtek ALC268 audio0 at azalia0 ppb0 at pci0 dev 28 function 0 Intel 82801GB PCIE rev 0x02: apic 1 int 17 pci1 at ppb0 bus 2 JMicron SD/MMC rev 0x00 at pci1 dev 0 function 0 not configured sdhc0 at pci1 dev 0 function 2 JMicron SD Host Controller rev 0x00: apic 1 int 16 sdmmc0 at sdhc0 JMicron Memory Stick rev 0x00 at pci1 dev 0 function 3 not configured ppb1 at pci0 dev 28 function 1 Intel 82801GB PCIE rev 0x02: apic 1 int 16 pci2 at ppb1 bus 3 iwn0 at pci2 dev 0 function 0 Intel WiFi Link 5100 rev 0x00: msi, MIMO 1T2R, MoW, address 00:21:6b:94:12:fa ppb2 at pci0 dev 28 function 2 Intel 82801GB PCIE rev 0x02: apic 1 int 18 pci3 at ppb2 bus 4 re0 at pci3 dev 0 function 0 Realtek 8101E rev 0x02: RTL8102EL (0x2480), apic 1 int 18, address 00:24:e8:a6:6a:d3 rlphy0 at re0 phy 7: RTL8201L 10/100 PHY, rev. 1 uhci0 at pci0 dev 29 function 0 Intel 82801GB USB rev 0x02: apic 1 int 23 uhci1 at pci0 dev 29 function 1 Intel 82801GB USB rev 0x02: apic 1 int 19 uhci2 at pci0 dev 29 function 2 Intel 82801GB USB rev 0x02: apic 1 int 18 uhci3 at pci0 dev 29 function 3 Intel 82801GB USB rev 0x02: apic 1 int 16 ehci0 at pci0 dev 29 function 7 Intel 82801GB USB rev 0x02: apic 1 int 23 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 Intel EHCI root hub rev 2.00/1.00 addr 1 ppb3 at pci0 dev 30 function 0 Intel 82801BAM Hub-to-PCI rev 0xe2 pci4 at ppb3 bus 5 ichpcib0 at pci0 dev 31 function 0 Intel 82801GBM LPC rev 0x02: PM disabled pciide0 at pci0 dev 31 function 1 Intel 82801GB IDE rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: STT_FEM16GFDL wd0: 1-sector PIO, LBA, 14559MB, 29818656 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 pciide0: channel 1 ignored (disabled) ichiic0 at pci0 dev 31 function 3 Intel 82801GB SMBus rev 0x02: apic 1 int 19 iic0 at ichiic0 spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM usb1 at uhci0: USB revision 1.0 uhub1 at usb1 Intel
Re: X configuration changes for synaptics - please test
On Jun 18, 2011 01:40, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. -- Alexandr Shadchin This breaks tapping for me on my T410i running amd64. The more advanced features like scrolling also don't work. Hitting the real buttons still works. xinput list b! Virtual core pointerid=2[master pointer (3)] b b3 Virtual core XTEST pointerid=4[slave pointer (2)] b b3 /dev/wsmouse0 id=7[slave pointer (2)] b b3 /dev/wsmouse id=8[slave pointer (2)] b# Virtual core keyboard id=3[master keyboard (2)] b3 Virtual core XTEST keyboard id=5[slave keyboard (3)] b3 /dev/wskbd id=6[slave keyboard (3)] OpenBSD 4.9-current (GENERIC.MP) #7: Sun Jun 19 19:32:32 CEST 2011 d...@padtree.my.domain:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 1998045184 (1905MB) avail mem = 1930715136 (1841MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xe0010 (78 entries) bios0: vendor LENOVO version 6IET68WW (1.28 ) date 07/12/2010 bios0: LENOVO 25184QG acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SSDT ECDT APIC MCFG HPET ASF! SLIC BOOT SSDT TCPA SSDT SSDT SSDT acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) IGBE(S4) EXP1(S4) EXP2(S4) EXP3(S4) EXP4(S4) EXP5(S4) EHC1(S3) EHC2(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpiec0 at acpi0 acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz, 2261.41 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG cpu0: 256KB 64b/line 8-way L2 cache cpu0: apic clock running at 132MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz, 2261.00 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG cpu1: 256KB 64b/line 8-way L2 cache cpu2 at mainbus0: apid 4
Re: X configuration changes for synaptics - please test
On Sun, Jun 19, 2011 at 08:16:12PM +0200, Dawe wrote: On Jun 18, 2011 01:40, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. -- Alexandr Shadchin This breaks tapping for me on my T410i running amd64. The more advanced features like scrolling also don't work. Hitting the real buttons still works. Defaults tap and scrolling disabled. Add in /etc/X11/xorg.conf: Section InputClass Identifier Touchpad defaults MatchIsTouchpad on Option VertEdgeScroll true Option HorizEdgeScroll true Option TapButton1 1 EndSection -- Alexandr Shadchin
Re: X configuration changes for synaptics - please test
On Jun 20, 2011 00:48, Alexandr Shadchin wrote: On Sun, Jun 19, 2011 at 08:16:12PM +0200, Dawe wrote: On Jun 18, 2011 01:40, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. -- Alexandr Shadchin This breaks tapping for me on my T410i running amd64. The more advanced features like scrolling also don't work. Hitting the real buttons still works. Defaults tap and scrolling disabled. Add in /etc/X11/xorg.conf: Section InputClass Identifier Touchpad defaults MatchIsTouchpad on Option VertEdgeScroll true Option HorizEdgeScroll true Option TapButton1 1 EndSection -- Alexandr Shadchin Oh sorry, I thought there was no need for an xorg.conf. Now tapping and scrolling work just fine.
Re: X configuration changes for synaptics - please test
On Jun 19, 2011 22:01, Dawe wrote: On Jun 20, 2011 00:48, Alexandr Shadchin wrote: On Sun, Jun 19, 2011 at 08:16:12PM +0200, Dawe wrote: On Jun 18, 2011 01:40, Alexandr Shadchin wrote: On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. -- Alexandr Shadchin This breaks tapping for me on my T410i running amd64. The more advanced features like scrolling also don't work. Hitting the real buttons still works. Defaults tap and scrolling disabled. Add in /etc/X11/xorg.conf: Section InputClass Identifier Touchpad defaults MatchIsTouchpad on Option VertEdgeScroll true Option HorizEdgeScroll true Option TapButton1 1 EndSection -- Alexandr Shadchin Oh sorry, I thought there was no need for an xorg.conf. Now tapping and scrolling work just fine. Well, after some time I'm experiencing the same behaviour like Aaron. No dmesg output and nothing in the Xorg.0.log after the touchpad stops working.
Re: X configuration changes for synaptics - please test
On Sat, Jun 18, 2011 at 08:25:19AM -0600, Aaron Bieber wrote: Hi, I applied these patches to -current on my lenovo t410. The trackpad works as expected for for a few minutes, and then seems to lock up ( not allowing me to move the pointer, or click the two buttons under it ). I've experienced it twice on my msi wind u100, with the very latest synaptics.v2.diff.. vt switching 'fixes it'. Alas, nothing special in Xorg.0.log nor dmesg. Landry
Re: X configuration changes for synaptics - please test
On Jun 19, 2011 23:51, Landry Breuil wrote: On Sat, Jun 18, 2011 at 08:25:19AM -0600, Aaron Bieber wrote: Hi, I applied these patches to -current on my lenovo t410. The trackpad works as expected for for a few minutes, and then seems to lock up ( not allowing me to move the pointer, or click the two buttons under it ). I've experienced it twice on my msi wind u100, with the very latest synaptics.v2.diff.. vt switching 'fixes it'. Alas, nothing special in Xorg.0.log nor dmesg. Landry For me, it just came back to life all on its own, without vt switching or any other special interaction.
Re: X configuration changes for synaptics - please test
On Wed, Jun 15, 2011 at 09:11:43AM +0200, Matthieu Herrb wrote: Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb New sys-synaptics.diff (http://koba.devio.us/distfiles/synaptics.v2.diff) * fix wrong detect clickpad * fix ignore buttons if no fingers on touchpad * if open directly /dev/wsmouseX, then remove this device from mux (close device - get back in mux) Thanks all for your feedback. -- Alexandr Shadchin Index: dev/pckbc/pms.c === RCS file: /cvs/src/sys/dev/pckbc/pms.c,v retrieving revision 1.18 diff -u -p -r1.18 pms.c --- dev/pckbc/pms.c 3 Jan 2011 19:46:34 - 1.18 +++ dev/pckbc/pms.c 17 Jun 2011 19:18:55 - @@ -28,6 +28,7 @@ #include sys/systm.h #include sys/device.h #include sys/ioctl.h +#include sys/malloc.h #include machine/bus.h @@ -40,12 +41,15 @@ #define DEVNAME(sc)((sc)-sc_dev.dv_xname) +#define WSMOUSE_BUTTON(x) (1 ((x) - 1)) + struct pms_softc; struct pms_protocol { int type; #define PMS_STANDARD 0 #define PMS_INTELLI1 +#define PMS_SYNAPTICS 2 u_int packetsize; int (*enable)(struct pms_softc *); int (*ioctl)(struct pms_softc *, u_long, caddr_t, int, struct proc *); @@ -54,6 +58,29 @@ struct pms_protocol { void (*disable)(struct pms_softc *); }; +struct synaptics_softc { + int identify; + int capabilities, ext_capabilities; + int model, ext_model; + int resolution, dimension; + + int mode; + + int res_x, res_y; + int min_x, min_y; + int max_x, max_y; + + /* Compat mode */ + int wsmode; + int old_x, old_y; + u_int old_buttons; + int count; +#define SYNAPTICS_SCALE4 +#define SYNAPTICS_PRESSURE 30 + + int dev_pt_attach; +}; + struct pms_softc { /* driver status information */ struct device sc_dev; @@ -64,56 +91,48 @@ struct pms_softc { /* driver status inf #define PMS_STATE_ENABLED 1 #define PMS_STATE_SUSPENDED2 + int sc_dev_enable; +#define PMS_DEV_IGNORE 0x00 +#define PMS_DEV_PRIMARY0x01 +#define PMS_DEV_SECONDARY 0x02 + int poll; int inputstate; + int is_touchpad; const struct pms_protocol *protocol; + struct synaptics_softc *synaptics; u_char packet[8]; struct device *sc_wsmousedev; + struct device *sc_pt_wsmousedev; }; -#define PMS_BUTTON1DOWN0x0001 /* left */ -#define PMS_BUTTON2DOWN0x0002 /* middle */ -#define PMS_BUTTON3DOWN0x0004 /* right */ - static const u_int butmap[8] = { 0, - PMS_BUTTON1DOWN, - PMS_BUTTON3DOWN, - PMS_BUTTON1DOWN |
X configuration changes for synaptics - please test
Hi, here are a set of patches being worked on to add native synaptics touch pad support to OpenBSD and Xenocara. The xf86-input-synaptics driver itself is already committed and built in Xenocara. http://xenocara.org/wscons_config.2.diff is a diff that uses the X hot-plug mechanism to configure you input drivers. It will setup the xf86-input-synaptics driver for you if you have one, together with a regular mouse driver that will handle any external PS/2 or USB mouse attached in addition. Touchscreens will also be auto-configured this way if one is detected. This new code also takes care of the configuration of the keyboard layout from the wscons layout. Thus a second diff: http://xenocara.org/xf86-input-keyboard.diff removes that code from the keyboard driver. To apply those patches: cd /usr/xenocara/xserver patch -p0 -E /path/to/wscons_config.2.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build cd /usr/xenocara/driver/xf86-input-keyboard patch -p0 -E /path/to/xf86-input-keyboard.diff make -f Makefile.bsd-wrapper obj make -f Makefile.bsd-wrapper build Once X is ready, apply the kernel patch, and build a new kernel with the synaptics support in pms(4): http://xenocara.org/sys-synaptics.diff cd /sys patch -p0 -E /path/to/sys-synaptics.diff the new kernel will detect your synaptics touch pad if any, and X will be configured with the xf86-input-synaptics. Read the synaptics(4) manual page to discover all its features. You can check how the input drivers were configured by running the command: xinput list If you are configuring input devices manually in xorg,conf you need to add this to the ServerFlags section (but may be you should give a try at auto-configuration and remove your InputDevice sections all together): Section ServerFlags Option AutoAddDevices false EndSection Please test, comment and report failures. Make sure to include /var/log/Xorg.0.log and dmesg outputs in your reports. Thanks to Alexandr Shadchin (shadchin@) for his work on this driver and to all people who already tested these patches and suggested enhancements. -- Matthieu Herrb