File Fix-synaptics-driver-issues.patch of Package plasma5-desktop.openSUSE_Leap_42.1_Update

From: Rajeesh K V <rajeeshknambiar@gmail.com>
Date: Wed, 09 Mar 2016 19:29:29 +0000
Subject: Touchpad KCM: Fix synaptics driver issues
X-Git-Url: http://quickgit.kde.org/?p=plasma-desktop.git&a=commitdiff&h=86b59198f1c60236034567dc804b578376f8d06c
---
Touchpad KCM: Fix synaptics driver issues
Fixes couple of issues:
1.  Remove spurious members of SynapticsTouchpad class from parent class XlibTouchpad; fixing wrong scroll delta values.
2.  Enlarge vertical,horizontal&circular scroll delta and maxtapmove allowing value more than 100. The max value supported by driver is 1000

REVIEW: 127306
BUG: 359460
---


--- a/kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
+++ b/kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
@@ -233,3 +233,18 @@
 
     m_paramList = synapticsProperties;
 }
+
+double SynapticsTouchpad::getPropertyScale(const QString &name) const
+{
+    if (m_scaleByResX.contains(name) && m_scaleByResY.contains(name)) {
+        return std::sqrt(static_cast<double>(m_resX) * m_resX
+                         + static_cast<double>(m_resY) * m_resY);
+    } else if (m_scaleByResX.contains(name)) {
+        return m_resX;
+    } else if (m_scaleByResY.contains(name)) {
+        return m_resY;
+    } else if (m_toRadians.contains(name)) {
+        return M_PI_4 / 45.0;
+    }
+    return 1.0;
+}
--- a/kcms/touchpad/src/backends/x11/synapticstouchpad.h
+++ b/kcms/touchpad/src/backends/x11/synapticstouchpad.h
@@ -27,10 +27,12 @@
 public:
     SynapticsTouchpad(Display *display, int deviceId);
 
+protected:
+    double getPropertyScale(const QString &name) const Q_DECL_OVERRIDE;
+
 private:
     XcbAtom m_capsAtom;
     int m_resX, m_resY;
-    QMap<QString, QString> m_negate;
     QStringList m_scaleByResX, m_scaleByResY, m_toRadians;
 };
 

--- a/kcms/touchpad/src/backends/x11/xlibtouchpad.cpp
+++ b/kcms/touchpad/src/backends/x11/xlibtouchpad.cpp
@@ -169,16 +169,7 @@
 
 double XlibTouchpad::getPropertyScale(const QString& name) const
 {
-    if (m_scaleByResX.contains(name) && m_scaleByResY.contains(name)) {
-        return std::sqrt(static_cast<double>(m_resX) * m_resX
-                         + static_cast<double>(m_resY) * m_resY);
-    } else if (m_scaleByResX.contains(name)) {
-        return m_resX;
-    } else if (m_scaleByResY.contains(name)) {
-        return m_resY;
-    } else if (m_toRadians.contains(name)) {
-        return M_PI_4 / 45.0;
-    }
+    Q_UNUSED(name);
     return 1.0;
 }
 
--- a/kcms/touchpad/src/backends/x11/xlibtouchpad.h
+++ b/kcms/touchpad/src/backends/x11/xlibtouchpad.h
@@ -46,6 +46,7 @@
 {
 public:
     XlibTouchpad(Display *display, int deviceId);
+    virtual ~XlibTouchpad() {};
 
     int deviceId() { return m_deviceId; }
     const QStringList &supportedParameters() const { return m_supported; }
@@ -64,7 +65,7 @@
     QVariant getParameter(const struct Parameter *);
     struct PropertyInfo *getDevProperty(const QLatin1String &propName);
     void flush();
-    double getPropertyScale(const QString &name) const;
+    virtual double getPropertyScale(const QString &name) const;
     const Parameter * findParameter(const QString &name);
 
     Display *m_display;
@@ -75,10 +76,7 @@
 
     QMap<QLatin1String, QSharedPointer<XcbAtom> > m_atoms;
 
-    int m_resX, m_resY;
-    QStringList m_scaleByResX, m_scaleByResY, m_toRadians;
     QMap<QString, QString> m_negate;
-
     QMap<QLatin1String, struct PropertyInfo> m_props;
     QSet<QLatin1String> m_changed;
     QStringList m_supported;

--- a/kcms/touchpad/src/kcm/touchpad.kcfg
+++ b/kcms/touchpad/src/kcm/touchpad.kcfg
@@ -132,7 +132,7 @@
         </entry>
         <entry name="VertScrollDelta" type="Double">
             <min>0</min>
-            <max>10</max>
+            <max>1000</max>
             <default code="true">
                 systemDefault("VertScrollDelta", 1.0)
             </default>
@@ -144,7 +144,7 @@
         </entry>
         <entry name="HorizScrollDelta" type="Double">
             <min>0</min>
-            <max>10</max>
+            <max>1000</max>
             <default code="true">
                 systemDefault("HorizScrollDelta", 1.0)
             </default>
@@ -234,7 +234,7 @@
         </entry>
         <entry name="MaxTapMove" type="Double">
             <min>0</min>
-            <max>20</max>
+            <max>1000</max>
             <default code="true">
                 systemDefault("MaxTapMove", 2.0)
             </default>

--- a/kcms/touchpad/src/kcm/ui/scroll.ui
+++ b/kcms/touchpad/src/kcm/ui/scroll.ui
@@ -147,6 +147,9 @@
         <property name="toolTip">
          <string>Move distance of the finger for a scroll event</string>
         </property>
+        <property name="maximum">
+         <double>1000.000000000000000</double>
+        </property>
         <property name="singleStep">
          <double>0.100000000000000</double>
         </property>
@@ -172,6 +175,9 @@
        <widget class="QDoubleSpinBox" name="kcfg_HorizScrollDelta">
         <property name="toolTip">
          <string>Move distance of the finger for a scroll event</string>
+        </property>
+        <property name="maximum">
+         <double>1000.000000000000000</double>
         </property>
         <property name="singleStep">
          <double>0.100000000000000</double>
@@ -322,12 +328,18 @@
        </widget>
       </item>
       <item row="2" column="1">
-       <widget class="QSpinBox" name="kcfg_CircScrollDelta">
+       <widget class="QDoubleSpinBox" name="kcfg_CircScrollDelta">
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
+        </property>
+        <property name="maximum">
+         <double>45.000000000000000</double>
+        </property>
+        <property name="singleStep">
+         <double>0.100000000000000</double>
         </property>
         <property name="toolTip">
          <string>Move angle (radians) of finger to generate a scroll event</string>

--- a/kcms/touchpad/src/kcm/ui/tap.ui
+++ b/kcms/touchpad/src/kcm/ui/tap.ui
@@ -406,6 +406,9 @@
        <widget class="QDoubleSpinBox" name="kcfg_MaxTapMove">
         <property name="toolTip">
          <string>Maximum movement of the finger for detecting a tap</string>
+        </property>
+        <property name="maximum">
+         <double>1000.000000000000000</double>
         </property>
         <property name="singleStep" stdset="0">
          <double>0.100000000000000</double>
openSUSE Build Service is sponsored by