[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-evdev: Changes to 'debian-unstable'



 ChangeLog                        |   70 +++++++++++++++++++++++++++++++++++++++
 configure.ac                     |    2 -
 debian/changelog                 |   14 ++++++-
 debian/local/65-xorg-evdev.rules |    6 ++-
 src/evdev.c                      |   43 ++++++++++++++++++-----
 5 files changed, 120 insertions(+), 15 deletions(-)

New commits:
commit 1b82f1a5300d9806353b616ac6ee9e18c08fd3b0
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Wed Jan 6 13:53:30 2010 +0200

    evdev.rules: Skip joysticks, since using evdev for those is generally considered as a bad idea. Use -joystick instead.

diff --git a/debian/changelog b/debian/changelog
index 4d24f84..ce6fa85 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-input-evdev (1:2.3.2-2) UNRELEASED; urgency=low
+
+  * evdev.rules: Skip joysticks, since using evdev for those is
+    generally considered as a bad idea. Use -joystick instead.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Wed, 06 Jan 2010 13:45:23 +0200
+
 xserver-xorg-input-evdev (1:2.3.2-1) experimental; urgency=low
 
   [ Timo Aaltonen ]
diff --git a/debian/local/65-xorg-evdev.rules b/debian/local/65-xorg-evdev.rules
index 6c201f5..2d99ce3 100644
--- a/debian/local/65-xorg-evdev.rules
+++ b/debian/local/65-xorg-evdev.rules
@@ -2,8 +2,10 @@ ACTION!="add|change", GOTO="xorg_evdev_end"
 SUBSYSTEM!="input", GOTO="xorg_evdev_end"
 KERNEL!="event*", GOTO="xorg_evdev_end"
 
-# By default, we use the -evdev driver for every input device; later rules can
-# then change the driver for specific input devices.
+# By default, we use the -evdev driver for every input device except
+# joysticks; later rules can then change the driver for specific input
+# devices.
+ENV{ID_INPUT_JOYSTICK}=="?*", GOTO="xorg_evdev_end"
 ENV{x11_driver}="evdev"
 
 LABEL="xorg_evdev_end"

commit a75796f02c1b507f1a4777b76a0755af403dad49
Author: Brice Goglin <bgoglin@debian.org>
Date:   Sat Dec 12 17:56:28 2009 +0100

    Prepare Changelog for upload

diff --git a/debian/changelog b/debian/changelog
index d6f9b23..4d24f84 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-input-evdev (1:2.3.2-1) UNRELEASED; urgency=low
+xserver-xorg-input-evdev (1:2.3.2-1) experimental; urgency=low
 
   [ Timo Aaltonen ]
   * Build against Xserver 1.7.
@@ -11,7 +11,7 @@ xserver-xorg-input-evdev (1:2.3.2-1) UNRELEASED; urgency=low
   [ Brice Goglin ]
   * New upstream release.
 
- -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 08 Dec 2009 13:47:20 +0200
+ -- Brice Goglin <bgoglin@debian.org>  Sat, 12 Dec 2009 17:56:22 +0100
 
 xserver-xorg-input-evdev (1:2.3.1-1) experimental; urgency=low
 

commit edca5b7c041ee5435707a54170e36a104487847b
Author: Brice Goglin <bgoglin@debian.org>
Date:   Sat Dec 12 17:56:12 2009 +0100

    New upstream release

diff --git a/ChangeLog b/ChangeLog
index de41ae1..e5357db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,73 @@
+commit f7850a40424f7ec0c32fb2b46d427b51b5410d99
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Dec 11 13:42:33 2009 +1000
+
+    evdev 2.3.2
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit bd4102af6e168c1b9129301f88e9601f8f5e0848
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Dec 1 15:44:39 2009 +1000
+
+    Fix up BTN_TOUCH handling for non-button tablets.
+    
+    BTN_TOOL_* is treated as tool, just like before. BTN_TOUCH on the other hand
+    may need to be treated as a button left press. This again requires a button
+    class.
+    
+    Tested on an HP Touchsmart and a Wacom tablet.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 1b0df04abe329433658c95debdafdf1714173814)
+
+commit 22e816eb326a5495a5dc6e0a94394534d6645bae
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Dec 1 14:16:10 2009 +1000
+
+    Only init the calibration property for absolute devices.
+    
+    Relative devices can't be calibrated anyway so why bother.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 2ca24a16f08095f35d5610f16e202c525b3075e9)
+
+commit b6b377fe9afa51ee8cbef8e9830537806e94a3ac
+Author: David Woodhouse <dwmw2@infradead.org>
+Date:   Tue Dec 1 00:14:54 2009 +0000
+
+    Report initial calibration parameters.
+    
+    Where an initial calibration is provided through the Calibration option
+    to the driver, it wasn't being exposed in the 'Evdev Axis Calibration'
+    property. Remedy that...
+    
+    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
+    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit 7b285a802b8ccddd1edcf40ab345c4a96bcdf43c)
+
+commit 3772676fd65065b43a94234127537ab5030b09f8
+Author: David Woodhouse <dwmw2@infradead.org>
+Date:   Tue Dec 1 00:12:36 2009 +0000
+
+    Swap axes before applying touch screen calibration.
+    
+    When the SwapAxes option is set, the X and Y axes in calibration should
+    be labelled as the user perceives them -- not as the kernel sends them.
+    
+    Currently, we apply the X-axis calibration to the X-axis of the input,
+    and then do the axis swapping so we've actually applied the X-axis
+    calibration to what the user sees as the Y-axis.
+    
+    This patch changes the order of the operations, so that the axes are
+    swapped before the calibration is applied.
+    
+    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
+    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    (cherry picked from commit f187badb71554a73bf9ca30ce75c9d166e688f03)
+
 commit 4f05afd495214ad48ffab7bdb1cde69aacc5af8f
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Fri Nov 20 11:18:03 2009 +1000
diff --git a/debian/changelog b/debian/changelog
index 6d7df35..d6f9b23 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-input-evdev (1:2.3.1-2) UNRELEASED; urgency=low
+xserver-xorg-input-evdev (1:2.3.2-1) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
   * Build against Xserver 1.7.
@@ -8,6 +8,9 @@ xserver-xorg-input-evdev (1:2.3.1-2) UNRELEASED; urgency=low
   [ Julien Cristau ]
   * 65-xorg-evdev.rules: don't ignore change events.
 
+  [ Brice Goglin ]
+  * New upstream release.
+
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 08 Dec 2009 13:47:20 +0200
 
 xserver-xorg-input-evdev (1:2.3.1-1) experimental; urgency=low

commit f7850a40424f7ec0c32fb2b46d427b51b5410d99
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 11 13:42:33 2009 +1000

    evdev 2.3.2
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index 841558c..d2a3bc1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-input-evdev],
-        2.3.1,
+        2.3.2,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-input-evdev)
 

commit bd4102af6e168c1b9129301f88e9601f8f5e0848
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 1 15:44:39 2009 +1000

    Fix up BTN_TOUCH handling for non-button tablets.
    
    BTN_TOOL_* is treated as tool, just like before. BTN_TOUCH on the other hand
    may need to be treated as a button left press. This again requires a button
    class.
    
    Tested on an HP Touchsmart and a Wacom tablet.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 1b0df04abe329433658c95debdafdf1714173814)

diff --git a/src/evdev.c b/src/evdev.c
index 9470ea8..faab8f3 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -617,7 +617,6 @@ EvdevProcessKeyEvent(InputInfoPtr pInfo, struct input_event *ev)
             return;
 
     switch (ev->code) {
-        case BTN_TOUCH:
         case BTN_TOOL_PEN:
         case BTN_TOOL_RUBBER:
         case BTN_TOOL_BRUSH:
@@ -627,7 +626,11 @@ EvdevProcessKeyEvent(InputInfoPtr pInfo, struct input_event *ev)
         case BTN_TOOL_MOUSE:
         case BTN_TOOL_LENS:
             pEvdev->tool = value ? ev->code : 0;
-            if (!(pEvdev->flags & EVDEV_TOUCHSCREEN))
+            break;
+
+        case BTN_TOUCH:
+            pEvdev->tool = value ? ev->code : 0;
+            if (!(pEvdev->flags & (EVDEV_TOUCHSCREEN | EVDEV_TABLET)))
                 break;
             /* Treat BTN_TOUCH from devices that only have BTN_TOUCH as
              * BTN_LEFT. */
@@ -1929,6 +1932,11 @@ EvdevProbe(InputInfoPtr pInfo)
             {
                 xf86Msg(X_INFO, "%s: Found absolute tablet.\n", pInfo->name);
                 pEvdev->flags |= EVDEV_TABLET;
+                if (!pEvdev->num_buttons)
+                {
+                    pEvdev->num_buttons = 7; /* LMR + scroll wheels */
+                    pEvdev->flags |= EVDEV_BUTTON_EVENTS;
+                }
             } else if (TestBit(ABS_PRESSURE, pEvdev->abs_bitmask) ||
                 TestBit(BTN_TOUCH, pEvdev->key_bitmask)) {
                 if (num_buttons || TestBit(BTN_TOOL_FINGER, pEvdev->key_bitmask)) {

commit 22e816eb326a5495a5dc6e0a94394534d6645bae
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 1 14:16:10 2009 +1000

    Only init the calibration property for absolute devices.
    
    Relative devices can't be calibrated anyway so why bother.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 2ca24a16f08095f35d5610f16e202c525b3075e9)

diff --git a/src/evdev.c b/src/evdev.c
index d37889d..9470ea8 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2522,7 +2522,7 @@ EvdevInitProperty(DeviceIntPtr dev)
             rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
                     32, PropModeReplace, 4, calibration,
                     FALSE);
-        } else {
+        } else if (pEvdev->flags & EVDEV_ABSOLUTE_EVENTS) {
             rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
                     32, PropModeReplace, 0, NULL,
                     FALSE);

commit b6b377fe9afa51ee8cbef8e9830537806e94a3ac
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Tue Dec 1 00:14:54 2009 +0000

    Report initial calibration parameters.
    
    Where an initial calibration is provided through the Calibration option
    to the driver, it wasn't being exposed in the 'Evdev Axis Calibration'
    property. Remedy that...
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit 7b285a802b8ccddd1edcf40ab345c4a96bcdf43c)

diff --git a/src/evdev.c b/src/evdev.c
index bf0e760..d37889d 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2511,8 +2511,22 @@ EvdevInitProperty(DeviceIntPtr dev)
 
         prop_calibration = MakeAtom(EVDEV_PROP_CALIBRATION,
                 strlen(EVDEV_PROP_CALIBRATION), TRUE);
-        rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER, 32,
-                PropModeReplace, 0, NULL, FALSE);
+        if (pEvdev->flags & EVDEV_CALIBRATED) {
+            int calibration[4];
+
+            calibration[0] = pEvdev->calibration.min_x;
+            calibration[1] = pEvdev->calibration.max_x;
+            calibration[2] = pEvdev->calibration.min_y;
+            calibration[3] = pEvdev->calibration.max_y;
+
+            rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
+                    32, PropModeReplace, 4, calibration,
+                    FALSE);
+        } else {
+            rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
+                    32, PropModeReplace, 0, NULL,
+                    FALSE);
+        }
         if (rc != Success)
             return;
 

commit 3772676fd65065b43a94234127537ab5030b09f8
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Tue Dec 1 00:12:36 2009 +0000

    Swap axes before applying touch screen calibration.
    
    When the SwapAxes option is set, the X and Y axes in calibration should
    be labelled as the user perceives them -- not as the kernel sends them.
    
    Currently, we apply the X-axis calibration to the X-axis of the input,
    and then do the axis swapping so we've actually applied the X-axis
    calibration to what the user sees as the Y-axis.
    
    This patch changes the order of the operations, so that the axes are
    swapped before the calibration is applied.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit f187badb71554a73bf9ca30ce75c9d166e688f03)

diff --git a/src/evdev.c b/src/evdev.c
index 33e02ab..bf0e760 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -464,6 +464,13 @@ EvdevProcessValuators(InputInfoPtr pInfo, int v[MAX_VALUATORS], int *num_v,
      */
     else if (pEvdev->abs && pEvdev->tool) {
         memcpy(v, pEvdev->vals, sizeof(int) * pEvdev->num_vals);
+
+        if (pEvdev->swap_axes) {
+            int tmp = v[0];
+            v[0] = v[1];
+            v[1] = tmp;
+        }
+
         if (pEvdev->flags & EVDEV_CALIBRATED)
         {
             v[0] = xf86ScaleAxis(v[0],
@@ -476,12 +483,6 @@ EvdevProcessValuators(InputInfoPtr pInfo, int v[MAX_VALUATORS], int *num_v,
                     pEvdev->calibration.max_y, pEvdev->calibration.min_y);
         }
 
-        if (pEvdev->swap_axes) {
-            int tmp = v[0];
-            v[0] = v[1];
-            v[1] = tmp;
-        }
-
         if (pEvdev->invert_x)
             v[0] = (pEvdev->absinfo[ABS_X].maximum - v[0] +
                     pEvdev->absinfo[ABS_X].minimum);


Reply to: