commit xorg-x11-driver-input for openSUSE:Factory
Hello community, here is the log from the commit of package xorg-x11-driver-input for openSUSE:Factory checked in at Fri Mar 26 02:05:50 CET 2010. -------- --- xorg-x11-driver-input/xorg-x11-driver-input.changes 2010-01-19 09:07:01.000000000 +0100 +++ xorg-x11-driver-input/xorg-x11-driver-input.changes 2010-03-23 15:12:11.000000000 +0100 @@ -1,0 +2,45 @@ +Tue Mar 23 15:11:40 CET 2010 - ro@suse.de + +- 20-synaptics.conf: only run for /dev/input/event* + (largely speed up xserver start) + +------------------------------------------------------------------- +Fri Mar 19 16:10:07 CET 2010 - ro@suse.de + +- removed hal fdi files and added xorg-conf snippets for + input devices + - 00-evdev.conf: basic evdev catchall (from fedora) + - 10-quirks.conf: do not use accelerometer as mouse (from fedora) + - 11-mouse.conf: translated version of 11-mouse.fdi + - 20-synaptics.conf: translated version of 11-x11-synaptics.fdi + - 20-wacom.conf: version of wacom.fdi + +------------------------------------------------------------------- +Thu Mar 18 12:44:10 CET 2010 - ro@suse.de + +- change INPUT_ABI_VERSION to 9 + +------------------------------------------------------------------- +Mon Feb 8 17:34:30 UTC 2010 - mhopf@novell.com + +- synaptics-retry-serial-open.diff: + Increase number of reconnect tries after S3/S4. + Don't retry unless it had been successful at least once, though. + (bnc #573644,569340,573642) + +------------------------------------------------------------------- +Wed Feb 3 18:04:13 UTC 2010 - mhopf@novell.com + +- synaptics-retry-serial-open.diff completely reworked: + Reprobe /dev/input/event* devices always upon DeviceOn, + check for race with kernel reassigning devices. + (bnc #573644,569340,573642) + +------------------------------------------------------------------- +Mon Feb 1 18:49:30 UTC 2010 - mhopf@novell.com + +- synaptics-retry-serial-open.diff by Takashi: + Wait for synaptics device to settle upon DeviceOn + (bnc #573644,569340,573642) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- 11-mouse.fdi 11-x11-synaptics.fdi New: ---- 00-evdev.conf 10-quirks.conf 11-mouse.conf 20-synaptics.conf 20-wacom.conf synaptics-retry-serial-open.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-driver-input.spec ++++++ --- /var/tmp/diff_new_pack.T2FPTx/_old 2010-03-26 02:00:21.000000000 +0100 +++ /var/tmp/diff_new_pack.T2FPTx/_new 2010-03-26 02:00:21.000000000 +0100 @@ -24,14 +24,13 @@ BuildRequires: Mesa-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk Url: http://xorg.freedesktop.org/ Version: 7.4 -Release: 43 +Release: 44 License: MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 -Requires: hal Requires: xkeyboard-config >= 1.5 Provides: xorg-x11-server:/usr/X11R6/%{_lib}/modules/input/mouse_drv.so x11-input-synaptics x11-input-wacom x11-input-wacom-devel x11-input-wacom-tools -Requires: INPUT_ABI_VERSION = 7 +Requires: INPUT_ABI_VERSION = 9 Obsoletes: x11-input-synaptics x11-input-wacom x11-input-wacom-devel x11-input-wacom-tools Supplements: xorg-x11-server Summary: X.Org input drivers @@ -52,9 +51,12 @@ Source27: xf86-input-void-1.3.0.tar.bz2 Source29: xf86-input-synaptics-1.2.1.tar.bz2 Source30: xf86-input-evdev-2.3.2.tar.bz2 -Source31: 11-x11-synaptics.fdi -Source32: 11-mouse.fdi Source33: xf86-input-wacom-0.10.4.tar.bz2 +Source40: 00-evdev.conf +Source41: 10-quirks.conf +Source42: 11-mouse.conf +Source43: 20-synaptics.conf +Source44: 20-wacom.conf Patch2: xf86-input-jamstudio.diff Patch3: p_mouse_misc.diff Patch5: evdev-overflow.diff @@ -72,6 +74,7 @@ Patch40: xf86-input-hyperpen.diff Patch41: xf86-input-mutouch.diff Patch42: xf86-input-penmount.diff +Patch43: synaptics-retry-serial-open.diff %description This package contains X.Org input drivers. @@ -110,6 +113,7 @@ pushd xf86-input-synaptics-* %patch23 -p0 %patch24 -p0 +%patch43 -p1 popd pushd xf86-input-elographics-* %patch38 -p1 @@ -156,23 +160,18 @@ *) make -C $dir install DESTDIR=$RPM_BUILD_ROOT ;; esac done -mkdir -p $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/10osvendor -mkdir -p $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/20thirdparty -install -m 644 $RPM_SOURCE_DIR/11-x11-synaptics.fdi \ - $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/10osvendor -install -m 644 $RPM_SOURCE_DIR/11-mouse.fdi \ - $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/20thirdparty +rm -f $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/20thirdparty/wacom.fdi +rm -f $RPM_BUILD_ROOT/usr/share/hal/fdi/policy/20thirdparty/11-x11-vmmouse.fdi +rm -f $RPM_BUILD_ROOT/usr/%{_lib}/hal/hal-probe-vmmouse +mkdir -p $RPM_BUILD_ROOT/etc/X11/xorg.conf.d +install -m 644 %{S:40} %{S:41} %{S:42} %{S:43} %{S:44} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d %clean rm -rf "$RPM_BUILD_ROOT" %files %defattr(-,root,root) -%dir /usr/share/hal -%dir /usr/share/hal/fdi -%dir /usr/share/hal/fdi/policy -%dir /usr/share/hal/fdi/policy/10osvendor -%dir /usr/share/hal/fdi/policy/20thirdparty +%dir /etc/X11/xorg.conf.d /usr/include/xorg/evdev-properties.h /usr/include/xorg/joystick-properties.h /usr/include/xorg/synaptics-properties.h @@ -189,14 +188,9 @@ /usr/bin/syn* /usr/bin/xsetwacom %ifarch %ix86 x86_64 -%dir /usr/%{_lib}/hal /usr/bin/vmmouse_detect -/usr/%{_lib}/hal/hal-probe-vmmouse -/usr/share/hal/fdi/policy/20thirdparty/11-x11-vmmouse.fdi /usr/share/man/man1/vmmouse_detect.1.gz %endif -/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi -/usr/share/hal/fdi/policy/20thirdparty/11-mouse.fdi -/usr/share/hal/fdi/policy/20thirdparty/wacom.fdi +%config /etc/X11/xorg.conf.d/* %changelog ++++++ 00-evdev.conf ++++++ # Catchall classes for input devices # We don't simply match on any device since that also adds accelerometers # and other devices that we don't really want to use. The list below # matches everything but joysticks. Section "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev tablet catchall" MatchIsTablet "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection ++++++ 10-quirks.conf ++++++ # Collection of quirks and blacklist/whitelists for specific devices. # Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable # http://bugs.freedesktop.org/show_bug.cgi?id=22442 Section "InputClass" Identifier "ThinkPad HDAPS accelerometer blacklist" MatchProduct "ThinkPad HDAPS accelerometer data" Option "Ignore" "on" EndSection ++++++ 11-mouse.conf ++++++ Section "InputClass" # 046d:c50e # 046d:c501 Identifier "Logitech Trackball" MatchVendor "Logitech, Inc." MatchProduct "MX-1000 Cordless Mouse Receiver|Cordless Mouse Receiver" MatchIsPointer "on" Driver "evdev" Option "Buttons" "8" Option "EmulateWheel" "on" Option "EmulateWheelButton" "8" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" EndSection Section "InputClass" # 046d:c521 Identifier "Logitech Multibutton Mouse" MatchVendor "Logitech, Inc." MatchProduct "MX620 Laser Cordless Mouse" MatchIsPointer "on" Driver "evdev" Option "HWHEELRelativeAxisButtons" "7 6" EndSection Section "InputClass" # 045e:0095 Identifier "Microsoft IntelliMouse Explorer" MatchVendor "Microsoft Corp." MatchProduct "IntelliMouse Explorer 4.0 (IntelliPoint)" MatchIsPointer "on" Driver "evdev" Option "HWHEELRelativeAxisButtons" "7 6" EndSection Section "InputClass" # 0210:0003 Identifier "0210:0003" MatchVendor "0210" MatchProduct "0003" MatchIsPointer "on" Driver "evdev" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" EndSection Section "InputClass" # 0002:000a Identifier "0002:000a" MatchVendor "0002" MatchProduct "000a" MatchIsPointer "on" Driver "evdev" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" EndSection Section "InputClass" # 04b3:300f Identifier "IBM 300f" MatchVendor "IBM Corp." MatchProduct "300f" MatchIsPointer "on" Driver "evdev" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" EndSection Section "InputClass" # unknown Identifier "IBM TPPS/2 TrackPoint" MatchVendor "IBM Corp." MatchProduct "TPPS/2 IBM TrackPoint" MatchIsPointer "on" Driver "evdev" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" Option "YAxisMapping" "4 5" Option "Emulate3Buttons" "on" Option "EmulateWheelTimeout" "200" EndSection Section "InputClass" # 03f0:1126 Identifier "HP 1126" MatchVendor "Hewlett-Packard" MatchProduct "1126" MatchIsPointer "on" Driver "evdev" Option "MinX" "0" Option "MaxX" "3000" Option "MinY" "0" Option "MaxY" "3000" EndSection ++++++ 20-synaptics.conf ++++++ Section "InputClass" Identifier "SynapticsTouchPad" MatchIsTouchpad "on" MatchProduct "Synaptics TouchPad|AlpsPS/2 ALPS|appletouch|bcm5974|ETPS/2 Elantech Touchpad" MatchDevicePath "/dev/input/event*" Driver "synaptics" Option "LeftEdge" "120" Option "SHMConfig" "on" Option "HorizScrollDelta" "0" EndSection ++++++ 20-wacom.conf ++++++ Section "InputClass" Identifier "Wacom Tablet" MatchVendor "Wacom|WALTOP|WACOM" Driver "wacom" EndSection Section "InputClass" Identifier "Wacom Tablet 2" MatchProduct "WACf|FUJ02e5|FUJ02e7" Driver "wacom" Option "ForceDevice" "ISDV4" EndSection Section "InputClass" # N-Trig Duosense Electromagnetic Digitizer Identifier "N-Trig Tablet" MatchProduct "HID 1b96:0001" Driver "wacom" EndSection ++++++ synaptics-retry-serial-open.diff ++++++ Fixes bnc 573644,569340,573642 - Synaptics driver does not survive S3/S4 Index: xf86-input-synaptics-1.2.1/src/synaptics.c =================================================================== --- xf86-input-synaptics-1.2.1.orig/src/synaptics.c +++ xf86-input-synaptics-1.2.1/src/synaptics.c @@ -198,7 +198,8 @@ SetDeviceAndProtocol(LocalDevicePtr loca } if (device && strstr(device, "/dev/input/event")) { #ifdef BUILD_EVENTCOMM - proto = SYN_PROTO_EVENT; + if (event_proto_operations.AutoDevProbe(local)) + proto = SYN_PROTO_EVENT; #endif } else { str_par = xf86FindOptionValue(local->options, "Protocol"); @@ -746,15 +747,22 @@ DeviceControl(DeviceIntPtr dev, int mode } static Bool -DeviceOn(DeviceIntPtr dev) +_DeviceOn(LocalDevicePtr local) { - LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate; SynapticsPrivate *priv = (SynapticsPrivate *) (local->private); + static int tries = 1; + int n; DBG(3, ErrorF("Synaptics DeviceOn called\n")); - SetDeviceAndProtocol(local); - local->fd = xf86OpenSerial(local->options); + for (n = tries-1; n >= 0; n--) { + SetDeviceAndProtocol(local); + local->fd = xf86OpenSerial(local->options); + if (local->fd != -1) + break; + if (n) + xf86Msg(X_WARNING, "%s: cannot open input device - retrying %d more times\n", local->name, n); + } if (local->fd == -1) { xf86Msg(X_WARNING, "%s: cannot open input device\n", local->name); return !Success; @@ -782,16 +790,30 @@ DeviceOn(DeviceIntPtr dev) return !Success; } + /* This has succeeded once, so chances are the hardware *really* is present + * - this is not a hotplug device after all. + * Without trying really hard on some machines with some kernels the device + * won't be found after S3/S4 again. */ + tries = 5; + xf86AddEnabledDevice(local); - dev->public.on = TRUE; return Success; } static Bool -DeviceOff(DeviceIntPtr dev) +DeviceOn(DeviceIntPtr dev) +{ + Bool ret = _DeviceOn((LocalDevicePtr)dev->public.devicePrivate); + + if (ret) + dev->public.on = TRUE; + return ret; +} + +static Bool +_DeviceOff(LocalDevicePtr local) { - LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate; SynapticsPrivate *priv = (SynapticsPrivate *) (local->private); DBG(3, ErrorF("Synaptics DeviceOff called\n")); @@ -807,6 +829,13 @@ DeviceOff(DeviceIntPtr dev) } xf86CloseSerial(local->fd); } + return Success; +} + +static Bool +DeviceOff(DeviceIntPtr dev) +{ + _DeviceOff((LocalDevicePtr)dev->public.devicePrivate); dev->public.on = FALSE; return Success; } @@ -1143,14 +1172,27 @@ ReadInput(LocalDevicePtr local) struct SynapticsHwState hw; int delay = 0; Bool newDelay = FALSE; + int processed = 0; while (SynapticsGetHwState(local, priv, &hw)) { + processed++; hw.millis = GetTimeInMillis(); priv->hwState = hw; delay = HandleState(local, &hw); newDelay = TRUE; } + if (!processed) { + /* strange callback, check the device and reconnect if needed */ + if (1 /*dev && access(dev, 0)*/) { + xf86Msg(X_WARNING, "%s: reconnecting device...\n", local->name); + _DeviceOff(local); + usleep(100*1000); + _DeviceOn(local); + xf86Msg(X_WARNING, "%s: reconnection done\n", local->name); + } + } + if (newDelay) priv->timer = TimerSet(priv->timer, 0, delay, timerFunc, local); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de