diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | 70-synaptics.conf | 76 | ||||
| -rw-r--r-- | 70-touchpad-quirks.rules | 27 | ||||
| -rw-r--r-- | sources | 1 | ||||
| -rw-r--r-- | xorg-x11-drv-synaptics.spec | 111 | 
5 files changed, 216 insertions, 0 deletions
| @@ -0,0 +1 @@ +/xf86-input-synaptics-1.10.0.tar.xz diff --git a/70-synaptics.conf b/70-synaptics.conf new file mode 100644 index 0000000..cda37d3 --- /dev/null +++ b/70-synaptics.conf @@ -0,0 +1,76 @@ +Section "InputClass" +        Identifier "touchpad catchall" +        Driver "synaptics" +        MatchIsTouchpad "on" +        MatchDevicePath "/dev/input/event*" +EndSection + +# This option enables the bottom right corner to be a right button on +# non-synaptics clickpads. +# This option is only interpreted by clickpads. +Section "InputClass" +        Identifier "Default clickpad buttons" +        MatchDriver "synaptics" +        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" +        Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 8%" +EndSection + +# This option disables software buttons on Apple touchpads. +# This option is only interpreted by clickpads. +Section "InputClass" +        Identifier "Disable clickpad buttons on Apple touchpads" +        MatchProduct "Apple|bcm5974" +        MatchDriver "synaptics" +        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" +EndSection + +# Quirks for special touchpads + +# The Cypress touchpads provide BTN_RIGHT in firmware, together with +# clickfinger, and two-finger scrolling. Disable Clickpads, otherwise we +# get flaky button behaviour. +# https://bugs.freedesktop.org/show_bug.cgi?id=70819 +# https://bugs.freedesktop.org/show_bug.cgi?id=76341 +# +# This really is a kernel issue, as the kernel should simply not report these +# as clickpads. This has been fixed in 3.13.9 and later, this section +# should be removed in the future +Section "InputClass" +        Identifier "Disable clickpad for CyPS/2 Cypress Trackpad" +        MatchProduct "CyPS/2 Cypress Trackpad" +        MatchDriver "synaptics" +        Option "ClickPad" "off" +EndSection + +# Some devices have the buttons as part of the lower edge of the +# touchpad.  Pressing a button moves the cursor, causing cursor jumps and +# erroneous clicks. +# Use the synaptics area property to work around this, udev labels these +# devices for us as touchpad_button_overlap. +# Affected: Dell Mini +Section "InputClass" +        Identifier "touchpad button overlap" +        MatchIsTouchpad "on" +        MatchTag "touchpad_button_overlap" +        Option "AreaBottomEdge" "4000" +EndSection + +# Some devices have the buttons on the top of the touchpad. For those, set +# the secondary button area to exactly that. +# Affected: All Haswell Lenovos and *431* models +# +# Note the touchpad_softbutton_top tag is a temporary solution, we're working +# on a more permanent solution upstream (likely adding INPUT_PROP_TOPBUTTONPAD) +Section "InputClass" +        Identifier "Lenovo TrackPoint top software buttons" +        MatchDriver "synaptics" +        MatchTag "touchpad_softbutton_top" +        Option "HasSecondarySoftButtons" "on" +EndSection + +Section "InputClass" +        Identifier "Lenovo *50 and Carbon 3rd trackpoint buttons" +        MatchDriver "synaptics" +        MatchTag "has_trackpoint_buttons" +        Option "HasTrackpointButtons" "on" +EndSection diff --git a/70-touchpad-quirks.rules b/70-touchpad-quirks.rules new file mode 100644 index 0000000..0485ce2 --- /dev/null +++ b/70-touchpad-quirks.rules @@ -0,0 +1,27 @@ +ACTION!="add|change", GOTO="touchpad_quirks_end" +KERNEL!="event*", GOTO="touchpad_quirks_end" + +ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="touchpad_quirks_end" + +# model specific quirks + +# Dell Minis have a touchpad where the buttons and the touchpad area +# overlap. Clicking a button thus moves the pointer, this requires special +# Xorg configuration. + +ATTR{[dmi/id]product_name}=="Inspiron 1011|Inspiron 1012", \ +  ENV{ID_INPUT.tags}="touchpad_button_overlap" + +ATTR{[dmi/id]product_version}=="ThinkPad X240*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad Edge E431*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad T431*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad L440*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad T440*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad L540*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad T540*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad W540*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad Helix*" ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad S1 Yoga", ENV{ID_INPUT.tags}="touchpad_softbutton_top" +ATTR{[dmi/id]product_version}=="ThinkPad X1 Carbon 2nd*", ENV{ID_INPUT.tags}="touchpad_softbutton_top" + +LABEL="touchpad_quirks_end" @@ -0,0 +1 @@ +017383c13a0d0f4cb320be477ab25513  xf86-input-synaptics-1.10.0.tar.xz diff --git a/xorg-x11-drv-synaptics.spec b/xorg-x11-drv-synaptics.spec new file mode 100644 index 0000000..3d09262 --- /dev/null +++ b/xorg-x11-drv-synaptics.spec @@ -0,0 +1,111 @@ +%global moduledir %(pkg-config xorg-server --variable=moduledir ) +%global driverdir %{moduledir}/input + + +Name:           xorg-x11-drv-synaptics +Summary:        Xorg X11 Synaptics touchpad input driver +Version:        1.10.0 +Release:        1 +URL:            http://www.x.org +License:        MIT + +Source0:        https://www.x.org/releases/individual/driver/xf86-input-synaptics-%{version}.tar.xz +Source1:        70-synaptics.conf +Source2:        70-touchpad-quirks.rules + +ExcludeArch:    s390 s390x + +BuildRequires: pkgconfig(inputproto) >= 2.1.99.3 +BuildRequires: pkgconfig(libevdev) >= 0.4 +BuildRequires: pkgconfig(randrproto) +BuildRequires: pkgconfig(recordproto) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xi) >= 1.2 +BuildRequires: pkgconfig(xorg-server) >= 1.18 +BuildRequires: pkgconfig(xproto) +BuildRequires: pkgconfig(xtst) + +Requires:       Xorg +Requires:       libevdev +Requires:       libXi libXtst + +Provides:       synaptics = %{version}-%{release} +Obsoletes:      synaptics < 0.15.0 + +%description +This package is a an empty package. For the legacy X.Org touchpad driver, +please install xorg-x11-drv-synaptics legacy. + +%package legacy +Summary:        Xorg X11 synaptics input driver + +%description legacy +This is the Synaptics touchpad driver for the X.Org X server. The following +touchpad models are supported: + +%prep +%autosetup -p1 -n xf86-input-synaptics-%{version} + +%build +%configure --disable-static --disable-silent-rules +%make_build + +%install +%make_install +%delete_la + +# Remove upstream synaptics.conf as we've several special fixes in ours +rm $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/70-synaptics.conf + +install -d $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d +install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/70-synaptics.conf + +install -d $RPM_BUILD_ROOT%{_udevrulesdir} +install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_udevrulesdir}/70-touchpad-quirks.rules + +%post +udevadm control --reload-rules || : + +%postun +udevadm control --reload-rules || : + +# NOTE: xorg-x11-drv-synaptics is obsoleted by xorg-x11-drv-libinput. +# The main package does not have any files anymore and thus does not +# generate an rpm. xorg-x11-drv-libinput can thus easily obsolete < 1.9.0-3, +# the synaptics files are now in xorg-x11-drv-legacy only. +# +# DO NOT CHANGE THIS. +# +%files legacy +%doc README +%license COPYING +%{_datadir}/X11/xorg.conf.d/70-synaptics.conf +%{driverdir}/synaptics_drv.so +%{_bindir}/synclient +%{_bindir}/syndaemon +%{_mandir}/man4/synaptics.4* +%{_mandir}/man1/synclient.1* +%{_mandir}/man1/syndaemon.1* +%{_udevrulesdir}/70-touchpad-quirks.rules + +%package devel +Summary:        Xorg X11 synaptics input driver + +%description devel +Development files for the Synaptics TouchPad for X.Org. + +%files devel +%license COPYING +%{_libdir}/pkgconfig/xorg-synaptics.pc +%dir %{_includedir}/xorg +%{_includedir}/xorg/synaptics-properties.h + +%changelog +* Mon Jan 06 2025 Funda Wang <fundawang@yeah.net> - 1.10.0-1 +- update to 1.10.0 + +* Wed May 25 2022 tanyulong <tanyulong@kylinos.cn> - 1.9.1-4 +- Improve the project according to the requirements of compliance improvement + +* Mon Nov 2 2020 douyan <douyan@kylinos.cn> - 1.9.1-3 +- package init | 
