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 <tjaal...@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 <tjaal...@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 <bgog...@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 <tjaal...@ubuntu.com> Tue, 08 Dec 2009 13:47:20 +0200 + -- Brice Goglin <bgog...@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 <bgog...@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.hutte...@who-t.net> +Date: Fri Dec 11 13:42:33 2009 +1000 + + evdev 2.3.2 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit bd4102af6e168c1b9129301f88e9601f8f5e0848 +Author: Peter Hutterer <peter.hutte...@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.hutte...@who-t.net> + (cherry picked from commit 1b0df04abe329433658c95debdafdf1714173814) + +commit 22e816eb326a5495a5dc6e0a94394534d6645bae +Author: Peter Hutterer <peter.hutte...@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.hutte...@who-t.net> + (cherry picked from commit 2ca24a16f08095f35d5610f16e202c525b3075e9) + +commit b6b377fe9afa51ee8cbef8e9830537806e94a3ac +Author: David Woodhouse <dw...@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.woodho...@intel.com> + Acked-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 7b285a802b8ccddd1edcf40ab345c4a96bcdf43c) + +commit 3772676fd65065b43a94234127537ab5030b09f8 +Author: David Woodhouse <dw...@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.woodho...@intel.com> + Acked-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit f187badb71554a73bf9ca30ce75c9d166e688f03) + commit 4f05afd495214ad48ffab7bdb1cde69aacc5af8f Author: Peter Hutterer <peter.hutte...@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 <tjaal...@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.hutte...@who-t.net> Date: Fri Dec 11 13:42:33 2009 +1000 evdev 2.3.2 Signed-off-by: Peter Hutterer <peter.hutte...@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.hutte...@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.hutte...@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.hutte...@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.hutte...@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 <dw...@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.woodho...@intel.com> Acked-by: Peter Hutterer <peter.hutte...@who-t.net> Signed-off-by: Peter Hutterer <peter.hutte...@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 <dw...@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.woodho...@intel.com> Acked-by: Peter Hutterer <peter.hutte...@who-t.net> Signed-off-by: Peter Hutterer <peter.hutte...@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); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org