libinput 1.1.1
This commit is contained in:
parent
a3190ae794
commit
f7dc5ca778
1
.gitignore
vendored
1
.gitignore
vendored
@ -25,3 +25,4 @@
|
||||
/libinput-1.0.1.tar.xz
|
||||
/libinput-1.0.2.tar.xz
|
||||
/libinput-1.1.0.tar.xz
|
||||
/libinput-1.1.1.tar.xz
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 9949d4ee0859ef8361afc00363a941ff3d133d88 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon, 2 Nov 2015 08:46:25 +1000
|
||||
Subject: [PATCH libinput] Fix libinput_device_group_find_group() to return
|
||||
NULL on failure
|
||||
|
||||
struct list isn't a null-terminated list, list_for_each() causes 'g' to be set
|
||||
to the list head at the end of the loop. Returning that as group caused random
|
||||
memory to be overwritten.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/libinput.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libinput.c b/src/libinput.c
|
||||
index f5c75b0..24f2b69 100644
|
||||
--- a/src/libinput.c
|
||||
+++ b/src/libinput.c
|
||||
@@ -2011,7 +2011,7 @@ libinput_device_group_find_group(struct libinput *libinput,
|
||||
}
|
||||
}
|
||||
|
||||
- return g;
|
||||
+ return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,26 +0,0 @@
|
||||
From f012d78de4577e9c1b55a63033825d3b13c5d696 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 28 Oct 2015 09:18:18 +1000
|
||||
Subject: [PATCH libinput 1/5] evdev: whitespace fix
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/evdev.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/evdev.c b/src/evdev.c
|
||||
index aef0456..45c1b1b 100644
|
||||
--- a/src/evdev.c
|
||||
+++ b/src/evdev.c
|
||||
@@ -297,7 +297,7 @@ evdev_flush_pending_event(struct evdev_device *device, uint64_t time)
|
||||
|
||||
/* Use unaccelerated deltas for pointing stick scroll */
|
||||
if (evdev_post_trackpoint_scroll(device, unaccel, time))
|
||||
- break;
|
||||
+ break;
|
||||
|
||||
/* Apply pointer acceleration. */
|
||||
accel = filter_dispatch(device->pointer.filter,
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 5d961f282df3296f9b8f1126a196bc163f6ba011 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 28 Oct 2015 09:20:33 +1000
|
||||
Subject: [PATCH libinput 2/5] evdev: log a bug for missing pointer accel on
|
||||
relative events
|
||||
|
||||
And use the unaccelerated motion events. Better than crashing, and better than
|
||||
a non-moving mouse.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/evdev.c | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/evdev.c b/src/evdev.c
|
||||
index 45c1b1b..4c947d6 100644
|
||||
--- a/src/evdev.c
|
||||
+++ b/src/evdev.c
|
||||
@@ -299,11 +299,18 @@ evdev_flush_pending_event(struct evdev_device *device, uint64_t time)
|
||||
if (evdev_post_trackpoint_scroll(device, unaccel, time))
|
||||
break;
|
||||
|
||||
- /* Apply pointer acceleration. */
|
||||
- accel = filter_dispatch(device->pointer.filter,
|
||||
- &unaccel,
|
||||
- device,
|
||||
- time);
|
||||
+ if (device->pointer.filter) {
|
||||
+ /* Apply pointer acceleration. */
|
||||
+ accel = filter_dispatch(device->pointer.filter,
|
||||
+ &unaccel,
|
||||
+ device,
|
||||
+ time);
|
||||
+ } else {
|
||||
+ log_bug_libinput(libinput,
|
||||
+ "%s: accel filter missing\n",
|
||||
+ udev_device_get_devnode(device->udev_device));
|
||||
+ accel = unaccel;
|
||||
+ }
|
||||
|
||||
if (normalized_is_zero(accel) && normalized_is_zero(unaccel))
|
||||
break;
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 48f1c63007c416c03363d27f4956e50b6e1c32b0 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 28 Oct 2015 09:05:37 +1000
|
||||
Subject: [PATCH libinput 3/5] evdev: don't handle motion events if the device
|
||||
isn't a pointer device
|
||||
|
||||
This check is already in place for all other event types.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/evdev.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/evdev.c b/src/evdev.c
|
||||
index 4c947d6..ba1b568 100644
|
||||
--- a/src/evdev.c
|
||||
+++ b/src/evdev.c
|
||||
@@ -289,6 +289,9 @@ evdev_flush_pending_event(struct evdev_device *device, uint64_t time)
|
||||
case EVDEV_NONE:
|
||||
return;
|
||||
case EVDEV_RELATIVE_MOTION:
|
||||
+ if (!(device->seat_caps & EVDEV_DEVICE_POINTER))
|
||||
+ break;
|
||||
+
|
||||
normalize_delta(device, &device->rel, &unaccel);
|
||||
raw.x = device->rel.x;
|
||||
raw.y = device->rel.y;
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 64ec0dc79619c1d9cdd772abfdbcb87b6b94d71f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 28 Oct 2015 09:13:24 +1000
|
||||
Subject: [PATCH libinput 4/5] evdev: init pointer acceleration for any device
|
||||
with pointer cap and rel x/y
|
||||
|
||||
The Asus RoG Gladius exposes two event nodes, one mouse, one keyboard. The
|
||||
keyboard node has REL_X/Y and REL_HWHEEL on top of the various key bits and
|
||||
ABS_VOLUME.
|
||||
|
||||
The keyboard node does not have BTN_* set, udev tags this device as a
|
||||
keyboard only, not as a pointer but we still initialize the pointer caps for
|
||||
it because of the wheel.
|
||||
|
||||
When moving this mouse, the deltas are sent through the keyboard node, causing
|
||||
a crash because we never initialized pointer acceleration.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1275407
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/evdev.c | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/evdev.c b/src/evdev.c
|
||||
index ba1b568..ec3abc6 100644
|
||||
--- a/src/evdev.c
|
||||
+++ b/src/evdev.c
|
||||
@@ -2062,11 +2062,6 @@ evdev_configure_device(struct evdev_device *device)
|
||||
evdev_tag_trackpoint(device, device->udev_device);
|
||||
device->dpi = evdev_read_dpi_prop(device);
|
||||
|
||||
- if (libevdev_has_event_code(evdev, EV_REL, REL_X) &&
|
||||
- libevdev_has_event_code(evdev, EV_REL, REL_Y) &&
|
||||
- evdev_init_accel(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE) == -1)
|
||||
- return -1;
|
||||
-
|
||||
device->seat_caps |= EVDEV_DEVICE_POINTER;
|
||||
|
||||
log_info(libinput,
|
||||
@@ -2104,6 +2099,16 @@ evdev_configure_device(struct evdev_device *device)
|
||||
device->devname, devnode);
|
||||
}
|
||||
|
||||
+ if (device->seat_caps & EVDEV_DEVICE_POINTER &&
|
||||
+ libevdev_has_event_code(evdev, EV_REL, REL_X) &&
|
||||
+ libevdev_has_event_code(evdev, EV_REL, REL_Y) &&
|
||||
+ evdev_init_accel(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE) == -1) {
|
||||
+ log_error(libinput,
|
||||
+ "failed to initialize pointer acceleration for %s\n",
|
||||
+ device->devname);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,406 +0,0 @@
|
||||
From 1e30238c569d95530f13e4289d55570830f631eb Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 28 Oct 2015 09:55:01 +1000
|
||||
Subject: [PATCH libinput 5/5] test: add Asus RoG Gladius mouse
|
||||
|
||||
This device has the usual mouse and keyboard event nodes that most gaming mice
|
||||
have. Relative events are sent through the keyboard node, not the mouse
|
||||
node - and that node doesn't have any buttons and isn't tagged as pointer
|
||||
device by udev.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
test/Makefile.am | 1 +
|
||||
test/litest-device-asus-rog-gladius.c | 334 ++++++++++++++++++++++++++++++++++
|
||||
test/litest.c | 2 +
|
||||
test/litest.h | 1 +
|
||||
4 files changed, 338 insertions(+)
|
||||
create mode 100644 test/litest-device-asus-rog-gladius.c
|
||||
|
||||
diff --git a/test/Makefile.am b/test/Makefile.am
|
||||
index cde93b3..ff1acda 100644
|
||||
--- a/test/Makefile.am
|
||||
+++ b/test/Makefile.am
|
||||
@@ -15,6 +15,7 @@ liblitest_la_SOURCES = \
|
||||
litest-int.h \
|
||||
litest-device-alps-semi-mt.c \
|
||||
litest-device-alps-dualpoint.c \
|
||||
+ litest-device-asus-rog-gladius.c \
|
||||
litest-device-atmel-hover.c \
|
||||
litest-device-bcm5974.c \
|
||||
litest-device-elantech-touchpad.c \
|
||||
diff --git a/test/litest-device-asus-rog-gladius.c b/test/litest-device-asus-rog-gladius.c
|
||||
new file mode 100644
|
||||
index 0000000..a44396f
|
||||
--- /dev/null
|
||||
+++ b/test/litest-device-asus-rog-gladius.c
|
||||
@@ -0,0 +1,334 @@
|
||||
+/*
|
||||
+ * Copyright © 2015 Red Hat, Inc.
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+ * copy of this software and associated documentation files (the "Software"),
|
||||
+ * to deal in the Software without restriction, including without limitation
|
||||
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+ * and/or sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice (including the next
|
||||
+ * paragraph) shall be included in all copies or substantial portions of the
|
||||
+ * Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
+ * DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#if HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif
|
||||
+
|
||||
+#include "litest.h"
|
||||
+#include "litest-int.h"
|
||||
+
|
||||
+/* Note: this is the second event node of this mouse only, the first event
|
||||
+ * node is just a normal mouse */
|
||||
+
|
||||
+static void litest_mouse_gladius_setup(void)
|
||||
+{
|
||||
+ struct litest_device *d = litest_create_device(LITEST_MOUSE_GLADIUS);
|
||||
+ litest_set_current_device(d);
|
||||
+}
|
||||
+
|
||||
+static struct input_id input_id = {
|
||||
+ .bustype = 0x3,
|
||||
+ .vendor = 0x0b05,
|
||||
+ .product = 0x181a,
|
||||
+};
|
||||
+
|
||||
+static int events[] = {
|
||||
+ EV_REL, REL_X,
|
||||
+ EV_REL, REL_Y,
|
||||
+ EV_REL, REL_HWHEEL,
|
||||
+ EV_KEY, KEY_ESC,
|
||||
+ EV_KEY, KEY_1,
|
||||
+ EV_KEY, KEY_2,
|
||||
+ EV_KEY, KEY_3,
|
||||
+ EV_KEY, KEY_4,
|
||||
+ EV_KEY, KEY_5,
|
||||
+ EV_KEY, KEY_6,
|
||||
+ EV_KEY, KEY_7,
|
||||
+ EV_KEY, KEY_8,
|
||||
+ EV_KEY, KEY_9,
|
||||
+ EV_KEY, KEY_0,
|
||||
+ EV_KEY, KEY_MINUS,
|
||||
+ EV_KEY, KEY_EQUAL,
|
||||
+ EV_KEY, KEY_BACKSPACE,
|
||||
+ EV_KEY, KEY_TAB,
|
||||
+ EV_KEY, KEY_Q,
|
||||
+ EV_KEY, KEY_W,
|
||||
+ EV_KEY, KEY_E,
|
||||
+ EV_KEY, KEY_R,
|
||||
+ EV_KEY, KEY_T,
|
||||
+ EV_KEY, KEY_Y,
|
||||
+ EV_KEY, KEY_U,
|
||||
+ EV_KEY, KEY_I,
|
||||
+ EV_KEY, KEY_O,
|
||||
+ EV_KEY, KEY_P,
|
||||
+ EV_KEY, KEY_LEFTBRACE,
|
||||
+ EV_KEY, KEY_RIGHTBRACE,
|
||||
+ EV_KEY, KEY_ENTER,
|
||||
+ EV_KEY, KEY_LEFTCTRL,
|
||||
+ EV_KEY, KEY_A,
|
||||
+ EV_KEY, KEY_S,
|
||||
+ EV_KEY, KEY_D,
|
||||
+ EV_KEY, KEY_F,
|
||||
+ EV_KEY, KEY_G,
|
||||
+ EV_KEY, KEY_H,
|
||||
+ EV_KEY, KEY_J,
|
||||
+ EV_KEY, KEY_K,
|
||||
+ EV_KEY, KEY_L,
|
||||
+ EV_KEY, KEY_SEMICOLON,
|
||||
+ EV_KEY, KEY_APOSTROPHE,
|
||||
+ EV_KEY, KEY_GRAVE,
|
||||
+ EV_KEY, KEY_LEFTSHIFT,
|
||||
+ EV_KEY, KEY_BACKSLASH,
|
||||
+ EV_KEY, KEY_Z,
|
||||
+ EV_KEY, KEY_X,
|
||||
+ EV_KEY, KEY_C,
|
||||
+ EV_KEY, KEY_V,
|
||||
+ EV_KEY, KEY_B,
|
||||
+ EV_KEY, KEY_N,
|
||||
+ EV_KEY, KEY_M,
|
||||
+ EV_KEY, KEY_COMMA,
|
||||
+ EV_KEY, KEY_DOT,
|
||||
+ EV_KEY, KEY_SLASH,
|
||||
+ EV_KEY, KEY_RIGHTSHIFT,
|
||||
+ EV_KEY, KEY_KPASTERISK,
|
||||
+ EV_KEY, KEY_LEFTALT,
|
||||
+ EV_KEY, KEY_SPACE,
|
||||
+ EV_KEY, KEY_CAPSLOCK,
|
||||
+ EV_KEY, KEY_F1,
|
||||
+ EV_KEY, KEY_F2,
|
||||
+ EV_KEY, KEY_F3,
|
||||
+ EV_KEY, KEY_F4,
|
||||
+ EV_KEY, KEY_F5,
|
||||
+ EV_KEY, KEY_F6,
|
||||
+ EV_KEY, KEY_F7,
|
||||
+ EV_KEY, KEY_F8,
|
||||
+ EV_KEY, KEY_F9,
|
||||
+ EV_KEY, KEY_F10,
|
||||
+ EV_KEY, KEY_NUMLOCK,
|
||||
+ EV_KEY, KEY_SCROLLLOCK,
|
||||
+ EV_KEY, KEY_KP7,
|
||||
+ EV_KEY, KEY_KP8,
|
||||
+ EV_KEY, KEY_KP9,
|
||||
+ EV_KEY, KEY_KPMINUS,
|
||||
+ EV_KEY, KEY_KP4,
|
||||
+ EV_KEY, KEY_KP5,
|
||||
+ EV_KEY, KEY_KP6,
|
||||
+ EV_KEY, KEY_KPPLUS,
|
||||
+ EV_KEY, KEY_KP1,
|
||||
+ EV_KEY, KEY_KP2,
|
||||
+ EV_KEY, KEY_KP3,
|
||||
+ EV_KEY, KEY_KP0,
|
||||
+ EV_KEY, KEY_KPDOT,
|
||||
+ EV_KEY, KEY_ZENKAKUHANKAKU,
|
||||
+ EV_KEY, KEY_102ND,
|
||||
+ EV_KEY, KEY_F11,
|
||||
+ EV_KEY, KEY_F12,
|
||||
+ EV_KEY, KEY_RO,
|
||||
+ EV_KEY, KEY_KATAKANA,
|
||||
+ EV_KEY, KEY_HIRAGANA,
|
||||
+ EV_KEY, KEY_HENKAN,
|
||||
+ EV_KEY, KEY_KATAKANAHIRAGANA,
|
||||
+ EV_KEY, KEY_MUHENKAN,
|
||||
+ EV_KEY, KEY_KPJPCOMMA,
|
||||
+ EV_KEY, KEY_KPENTER,
|
||||
+ EV_KEY, KEY_RIGHTCTRL,
|
||||
+ EV_KEY, KEY_KPSLASH,
|
||||
+ EV_KEY, KEY_SYSRQ,
|
||||
+ EV_KEY, KEY_RIGHTALT,
|
||||
+ EV_KEY, KEY_HOME,
|
||||
+ EV_KEY, KEY_UP,
|
||||
+ EV_KEY, KEY_PAGEUP,
|
||||
+ EV_KEY, KEY_LEFT,
|
||||
+ EV_KEY, KEY_RIGHT,
|
||||
+ EV_KEY, KEY_END,
|
||||
+ EV_KEY, KEY_DOWN,
|
||||
+ EV_KEY, KEY_PAGEDOWN,
|
||||
+ EV_KEY, KEY_INSERT,
|
||||
+ EV_KEY, KEY_DELETE,
|
||||
+ EV_KEY, KEY_MUTE,
|
||||
+ EV_KEY, KEY_VOLUMEDOWN,
|
||||
+ EV_KEY, KEY_VOLUMEUP,
|
||||
+ EV_KEY, KEY_POWER,
|
||||
+ EV_KEY, KEY_KPEQUAL,
|
||||
+ EV_KEY, KEY_PAUSE,
|
||||
+ EV_KEY, KEY_KPCOMMA,
|
||||
+ EV_KEY, KEY_HANGEUL,
|
||||
+ EV_KEY, KEY_HANJA,
|
||||
+ EV_KEY, KEY_YEN,
|
||||
+ EV_KEY, KEY_LEFTMETA,
|
||||
+ EV_KEY, KEY_RIGHTMETA,
|
||||
+ EV_KEY, KEY_COMPOSE,
|
||||
+ EV_KEY, KEY_STOP,
|
||||
+ EV_KEY, KEY_AGAIN,
|
||||
+ EV_KEY, KEY_PROPS,
|
||||
+ EV_KEY, KEY_UNDO,
|
||||
+ EV_KEY, KEY_FRONT,
|
||||
+ EV_KEY, KEY_COPY,
|
||||
+ EV_KEY, KEY_OPEN,
|
||||
+ EV_KEY, KEY_PASTE,
|
||||
+ EV_KEY, KEY_FIND,
|
||||
+ EV_KEY, KEY_CUT,
|
||||
+ EV_KEY, KEY_HELP,
|
||||
+ EV_KEY, KEY_MENU,
|
||||
+ EV_KEY, KEY_CALC,
|
||||
+ EV_KEY, KEY_SLEEP,
|
||||
+ EV_KEY, KEY_FILE,
|
||||
+ EV_KEY, KEY_WWW,
|
||||
+ EV_KEY, KEY_COFFEE,
|
||||
+ EV_KEY, KEY_MAIL,
|
||||
+ EV_KEY, KEY_BOOKMARKS,
|
||||
+ EV_KEY, KEY_BACK,
|
||||
+ EV_KEY, KEY_FORWARD,
|
||||
+ EV_KEY, KEY_EJECTCD,
|
||||
+ EV_KEY, KEY_NEXTSONG,
|
||||
+ EV_KEY, KEY_PLAYPAUSE,
|
||||
+ EV_KEY, KEY_PREVIOUSSONG,
|
||||
+ EV_KEY, KEY_STOPCD,
|
||||
+ EV_KEY, KEY_RECORD,
|
||||
+ EV_KEY, KEY_REWIND,
|
||||
+ EV_KEY, KEY_PHONE,
|
||||
+ EV_KEY, KEY_CONFIG,
|
||||
+ EV_KEY, KEY_HOMEPAGE,
|
||||
+ EV_KEY, KEY_REFRESH,
|
||||
+ EV_KEY, KEY_EXIT,
|
||||
+ EV_KEY, KEY_EDIT,
|
||||
+ EV_KEY, KEY_SCROLLUP,
|
||||
+ EV_KEY, KEY_SCROLLDOWN,
|
||||
+ EV_KEY, KEY_KPLEFTPAREN,
|
||||
+ EV_KEY, KEY_KPRIGHTPAREN,
|
||||
+ EV_KEY, KEY_NEW,
|
||||
+ EV_KEY, KEY_REDO,
|
||||
+ EV_KEY, KEY_F13,
|
||||
+ EV_KEY, KEY_F14,
|
||||
+ EV_KEY, KEY_F15,
|
||||
+ EV_KEY, KEY_F16,
|
||||
+ EV_KEY, KEY_F17,
|
||||
+ EV_KEY, KEY_F18,
|
||||
+ EV_KEY, KEY_F19,
|
||||
+ EV_KEY, KEY_F20,
|
||||
+ EV_KEY, KEY_F21,
|
||||
+ EV_KEY, KEY_F22,
|
||||
+ EV_KEY, KEY_F23,
|
||||
+ EV_KEY, KEY_F24,
|
||||
+ EV_KEY, KEY_CLOSE,
|
||||
+ EV_KEY, KEY_PLAY,
|
||||
+ EV_KEY, KEY_FASTFORWARD,
|
||||
+ EV_KEY, KEY_BASSBOOST,
|
||||
+ EV_KEY, KEY_PRINT,
|
||||
+ EV_KEY, KEY_CAMERA,
|
||||
+ EV_KEY, KEY_CHAT,
|
||||
+ EV_KEY, KEY_SEARCH,
|
||||
+ EV_KEY, KEY_FINANCE,
|
||||
+ EV_KEY, KEY_CANCEL,
|
||||
+ EV_KEY, KEY_BRIGHTNESSDOWN,
|
||||
+ EV_KEY, KEY_BRIGHTNESSUP,
|
||||
+ EV_KEY, KEY_KBDILLUMTOGGLE,
|
||||
+ EV_KEY, KEY_SEND,
|
||||
+ EV_KEY, KEY_REPLY,
|
||||
+ EV_KEY, KEY_FORWARDMAIL,
|
||||
+ EV_KEY, KEY_SAVE,
|
||||
+ EV_KEY, KEY_DOCUMENTS,
|
||||
+ EV_KEY, KEY_UNKNOWN,
|
||||
+ EV_KEY, KEY_VIDEO_NEXT,
|
||||
+ EV_KEY, KEY_BRIGHTNESS_AUTO,
|
||||
+ EV_KEY, BTN_0,
|
||||
+ EV_KEY, KEY_SELECT,
|
||||
+ EV_KEY, KEY_GOTO,
|
||||
+ EV_KEY, KEY_INFO,
|
||||
+ EV_KEY, KEY_PROGRAM,
|
||||
+ EV_KEY, KEY_PVR,
|
||||
+ EV_KEY, KEY_SUBTITLE,
|
||||
+ EV_KEY, KEY_ZOOM,
|
||||
+ EV_KEY, KEY_KEYBOARD,
|
||||
+ EV_KEY, KEY_PC,
|
||||
+ EV_KEY, KEY_TV,
|
||||
+ EV_KEY, KEY_TV2,
|
||||
+ EV_KEY, KEY_VCR,
|
||||
+ EV_KEY, KEY_VCR2,
|
||||
+ EV_KEY, KEY_SAT,
|
||||
+ EV_KEY, KEY_CD,
|
||||
+ EV_KEY, KEY_TAPE,
|
||||
+ EV_KEY, KEY_TUNER,
|
||||
+ EV_KEY, KEY_PLAYER,
|
||||
+ EV_KEY, KEY_DVD,
|
||||
+ EV_KEY, KEY_AUDIO,
|
||||
+ EV_KEY, KEY_VIDEO,
|
||||
+ EV_KEY, KEY_MEMO,
|
||||
+ EV_KEY, KEY_CALENDAR,
|
||||
+ EV_KEY, KEY_RED,
|
||||
+ EV_KEY, KEY_GREEN,
|
||||
+ EV_KEY, KEY_YELLOW,
|
||||
+ EV_KEY, KEY_BLUE,
|
||||
+ EV_KEY, KEY_CHANNELUP,
|
||||
+ EV_KEY, KEY_CHANNELDOWN,
|
||||
+ EV_KEY, KEY_LAST,
|
||||
+ EV_KEY, KEY_NEXT,
|
||||
+ EV_KEY, KEY_RESTART,
|
||||
+ EV_KEY, KEY_SLOW,
|
||||
+ EV_KEY, KEY_SHUFFLE,
|
||||
+ EV_KEY, KEY_PREVIOUS,
|
||||
+ EV_KEY, KEY_VIDEOPHONE,
|
||||
+ EV_KEY, KEY_GAMES,
|
||||
+ EV_KEY, KEY_ZOOMIN,
|
||||
+ EV_KEY, KEY_ZOOMOUT,
|
||||
+ EV_KEY, KEY_ZOOMRESET,
|
||||
+ EV_KEY, KEY_WORDPROCESSOR,
|
||||
+ EV_KEY, KEY_EDITOR,
|
||||
+ EV_KEY, KEY_SPREADSHEET,
|
||||
+ EV_KEY, KEY_GRAPHICSEDITOR,
|
||||
+ EV_KEY, KEY_PRESENTATION,
|
||||
+ EV_KEY, KEY_DATABASE,
|
||||
+ EV_KEY, KEY_NEWS,
|
||||
+ EV_KEY, KEY_VOICEMAIL,
|
||||
+ EV_KEY, KEY_ADDRESSBOOK,
|
||||
+ EV_KEY, KEY_MESSENGER,
|
||||
+ EV_KEY, KEY_DISPLAYTOGGLE,
|
||||
+ EV_KEY, KEY_SPELLCHECK,
|
||||
+ EV_KEY, KEY_LOGOFF,
|
||||
+ EV_KEY, KEY_MEDIA_REPEAT,
|
||||
+ EV_KEY, KEY_IMAGES,
|
||||
+ EV_KEY, KEY_BUTTONCONFIG,
|
||||
+ EV_KEY, KEY_TASKMANAGER,
|
||||
+ EV_KEY, KEY_JOURNAL,
|
||||
+ EV_KEY, KEY_CONTROLPANEL,
|
||||
+ EV_KEY, KEY_APPSELECT,
|
||||
+ EV_KEY, KEY_SCREENSAVER,
|
||||
+ EV_KEY, KEY_VOICECOMMAND,
|
||||
+ EV_KEY, KEY_BRIGHTNESS_MIN,
|
||||
+ EV_KEY, KEY_BRIGHTNESS_MAX,
|
||||
+ EV_LED, LED_NUML,
|
||||
+ EV_LED, LED_CAPSL,
|
||||
+ EV_LED, LED_SCROLLL,
|
||||
+ EV_LED, LED_COMPOSE,
|
||||
+ EV_LED, LED_KANA,
|
||||
+ -1 , -1,
|
||||
+};
|
||||
+
|
||||
+static struct input_absinfo absinfo[] = {
|
||||
+ { ABS_VOLUME, 0, 668, 0, 0, 0 },
|
||||
+ { .value = -1 }
|
||||
+};
|
||||
+
|
||||
+struct litest_test_device litest_mouse_gladius_device = {
|
||||
+ .type = LITEST_MOUSE_GLADIUS,
|
||||
+ .features = LITEST_RELATIVE | LITEST_WHEEL | LITEST_KEYS,
|
||||
+ .shortname = "mouse_gladius",
|
||||
+ .setup = litest_mouse_gladius_setup,
|
||||
+ .interface = NULL,
|
||||
+
|
||||
+ .name = "ASUS ROG GLADIUS",
|
||||
+ .id = &input_id,
|
||||
+ .absinfo = absinfo,
|
||||
+ .events = events,
|
||||
+};
|
||||
diff --git a/test/litest.c b/test/litest.c
|
||||
index bfa28f4..c7cb274 100644
|
||||
--- a/test/litest.c
|
||||
+++ b/test/litest.c
|
||||
@@ -365,6 +365,7 @@ extern struct litest_test_device litest_generic_multitouch_screen_device;
|
||||
extern struct litest_test_device litest_nexus4_device;
|
||||
extern struct litest_test_device litest_magicpad_device;
|
||||
extern struct litest_test_device litest_elantech_touchpad_device;
|
||||
+extern struct litest_test_device litest_mouse_gladius_device;
|
||||
|
||||
struct litest_test_device* devices[] = {
|
||||
&litest_synaptics_clickpad_device,
|
||||
@@ -396,6 +397,7 @@ struct litest_test_device* devices[] = {
|
||||
&litest_nexus4_device,
|
||||
&litest_magicpad_device,
|
||||
&litest_elantech_touchpad_device,
|
||||
+ &litest_mouse_gladius_device,
|
||||
NULL,
|
||||
};
|
||||
|
||||
diff --git a/test/litest.h b/test/litest.h
|
||||
index 8a4b33d..058057e 100644
|
||||
--- a/test/litest.h
|
||||
+++ b/test/litest.h
|
||||
@@ -142,6 +142,7 @@ enum litest_device_type {
|
||||
LITEST_NEXUS4_TOUCH_SCREEN = -28,
|
||||
LITEST_MAGIC_TRACKPAD = -29,
|
||||
LITEST_ELANTECH_TOUCHPAD = -30,
|
||||
+ LITEST_MOUSE_GLADIUS = -31,
|
||||
};
|
||||
|
||||
enum litest_device_feature {
|
||||
--
|
||||
2.4.3
|
||||
|
@ -4,8 +4,8 @@
|
||||
%global gitversion 58abea394
|
||||
|
||||
Name: libinput
|
||||
Version: 1.1.0
|
||||
Release: 3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
Version: 1.1.1
|
||||
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
Summary: Input device library
|
||||
|
||||
License: MIT
|
||||
@ -21,13 +21,6 @@ Source0: http://www.freedesktop.org/software/libinput/libinput-%{version}
|
||||
# Not upstream, keep until kernel 4.2 or 4.1.x with dbf3c37086
|
||||
Patch01: 0001-touchpad-serial-synaptics-need-to-fake-new-touches-o.patch
|
||||
|
||||
Patch02: 0001-evdev-whitespace-fix.patch
|
||||
Patch03: 0002-evdev-log-a-bug-for-missing-pointer-accel-on-relativ.patch
|
||||
Patch04: 0003-evdev-don-t-handle-motion-events-if-the-device-isn-t.patch
|
||||
Patch05: 0004-evdev-init-pointer-acceleration-for-any-device-with-.patch
|
||||
Patch06: 0005-test-add-Asus-RoG-Gladius-mouse.patch
|
||||
Patch07: 0001-Fix-libinput_device_group_find_group-to-return-NULL-.patch
|
||||
|
||||
BuildRequires: git
|
||||
BuildRequires: autoconf automake libtool pkgconfig
|
||||
BuildRequires: libevdev-devel
|
||||
@ -104,6 +97,9 @@ find $RPM_BUILD_ROOT -name '*.la' -delete
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Nov 16 2015 Peter Hutterer <peter.hutterer@redhat.com> 1.1.1-1
|
||||
- libinput 1.1.1
|
||||
|
||||
* Mon Nov 02 2015 Peter Hutterer <peter.hutterer@redhat.com> 1.1.0-3
|
||||
- Fix invalid device group pointer, causing invalid memory access
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user