From 6d1f2f88d6c94e2817d45c63076c5dc70c40b504 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 13 Aug 2020 09:37:30 +1000 Subject: [PATCH] test: add two test devices for the false joystick labelling Two devices that were affected by the regression fixed with #517 Test devices taken from: https://gitlab.freedesktop.org/libinput/libinput/-/issues/514 https://gitlab.freedesktop.org/libinput/libinput/-/issues/515 Signed-off-by: Peter Hutterer --- meson.build | 2 + test/litest-device-logitech-media-keyboard-elite.c | 92 ++++++++++++++++++++ test/litest-device-sony-vaio-keys.c | 98 ++++++++++++++++++++++ test/litest.h | 2 + 4 files changed, 194 insertions(+) create mode 100644 test/litest-device-logitech-media-keyboard-elite.c create mode 100644 test/litest-device-sony-vaio-keys.c diff --git a/meson.build b/meson.build index 8237f83..3902e14 100644 --- a/meson.build +++ b/meson.build @@ -785,6 +785,7 @@ if get_option('tests') 'test/litest-device-keyboard-razer-blade-stealth-videoswitch.c', 'test/litest-device-lid-switch.c', 'test/litest-device-lid-switch-surface3.c', + 'test/litest-device-logitech-media-keyboard-elite.c', 'test/litest-device-logitech-trackball.c', 'test/litest-device-nexus4-touch-screen.c', 'test/litest-device-magic-trackpad.c', @@ -798,6 +799,7 @@ if get_option('tests') 'test/litest-device-ms-surface-cover.c', 'test/litest-device-protocol-a-touch-screen.c', 'test/litest-device-qemu-usb-tablet.c', + 'test/litest-device-sony-vaio-keys.c', 'test/litest-device-synaptics-x220.c', 'test/litest-device-synaptics-hover.c', 'test/litest-device-synaptics-i2c.c', diff --git a/test/litest-device-logitech-media-keyboard-elite.c b/test/litest-device-logitech-media-keyboard-elite.c new file mode 100644 index 0000000..cac921b --- /dev/null +++ b/test/litest-device-logitech-media-keyboard-elite.c @@ -0,0 +1,92 @@ +/* + * Copyright © 2020 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. + */ + +#include "config.h" + +#include + +#include "libinput-util.h" + +#include "litest.h" +#include "litest-int.h" + +/* Description taken from + * https://gitlab.freedesktop.org/libinput/libinput/-/issues/514 + */ + +static struct input_id input_id = { + .bustype = 0x3, + .vendor = 0x46d, + .product = 0x30f, +}; + +static int events[] = { + EV_KEY, KEY_MUTE, + EV_KEY, KEY_VOLUMEDOWN, + EV_KEY, KEY_VOLUMEUP, + EV_KEY, KEY_UNDO, + EV_KEY, KEY_HELP, + EV_KEY, KEY_CALC, + EV_KEY, KEY_MAIL, + EV_KEY, KEY_BOOKMARKS, + EV_KEY, KEY_BACK, + EV_KEY, KEY_FORWARD, + EV_KEY, KEY_NEXTSONG, + EV_KEY, KEY_PLAYPAUSE, + EV_KEY, KEY_PREVIOUSSONG, + EV_KEY, KEY_STOPCD, + EV_KEY, KEY_REWIND, + EV_KEY, KEY_CONFIG, + EV_KEY, KEY_HOMEPAGE, + EV_KEY, KEY_REDO, + EV_KEY, KEY_FASTFORWARD, + EV_KEY, KEY_PRINT, + EV_KEY, KEY_SEARCH, + EV_KEY, KEY_SAVE, + EV_KEY, 319, + EV_KEY, BTN_TOOL_QUINTTAP, + EV_KEY, BTN_STYLUS3, + EV_KEY, BTN_TOUCH, + EV_KEY, BTN_STYLUS, + EV_KEY, KEY_ZOOMIN, + EV_KEY, KEY_ZOOMOUT, + EV_KEY, KEY_ZOOMRESET, + EV_KEY, KEY_WORDPROCESSOR, + EV_KEY, KEY_SPREADSHEET, + EV_KEY, KEY_PRESENTATION, + EV_KEY, KEY_MESSENGER, + + EV_MSC, MSC_SCAN, + -1, -1, +}; + +TEST_DEVICE("logitech-media-keyboard-elite", + .type = LITEST_KEYBOARD_LOGITECH_MEDIA_KEYBOARD_ELITE, + .features = LITEST_KEYS, + .interface = NULL, + + .name = "Logitech Logitech USB Keyboard Consumer Control", + .id = &input_id, + .events = events, + .absinfo = NULL, +) diff --git a/test/litest-device-sony-vaio-keys.c b/test/litest-device-sony-vaio-keys.c new file mode 100644 index 0000000..753d5c3 --- /dev/null +++ b/test/litest-device-sony-vaio-keys.c @@ -0,0 +1,98 @@ +/* + * Copyright © 2020 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. + */ + +#include "config.h" + +#include + +#include "libinput-util.h" + +#include "litest.h" +#include "litest-int.h" + +/* Description taken from + * https://gitlab.freedesktop.org/libinput/libinput/-/issues/515 + */ + +static struct input_id input_id = { + .bustype = 0x10, + .vendor = 0x104d, + .product = 0x00, +}; + +static int events[] = { + EV_KEY, KEY_UP, + EV_KEY, KEY_DOWN, + EV_KEY, KEY_MUTE, + EV_KEY, KEY_VOLUMEDOWN, + EV_KEY, KEY_VOLUMEUP, + EV_KEY, KEY_HELP, + EV_KEY, KEY_PROG1, + EV_KEY, KEY_PROG2, + EV_KEY, KEY_BACK, + EV_KEY, KEY_EJECTCD, + EV_KEY, KEY_F13, + EV_KEY, KEY_F14, + EV_KEY, KEY_F15, + EV_KEY, KEY_F21, + EV_KEY, KEY_PROG3, + EV_KEY, KEY_PROG4, + EV_KEY, KEY_SUSPEND, + EV_KEY, KEY_CAMERA, + EV_KEY, KEY_BRIGHTNESSDOWN, + EV_KEY, KEY_BRIGHTNESSUP, + EV_KEY, KEY_MEDIA, + EV_KEY, KEY_SWITCHVIDEOMODE, + EV_KEY, KEY_BLUETOOTH, + EV_KEY, KEY_WLAN, + EV_KEY, BTN_THUMB, + EV_KEY, KEY_VENDOR, + EV_KEY, KEY_FULL_SCREEN, + EV_KEY, KEY_ZOOMIN, + EV_KEY, KEY_ZOOMOUT, + EV_KEY, KEY_FN, + EV_KEY, KEY_FN_ESC, + EV_KEY, KEY_FN_F8, + EV_KEY, KEY_FN_F11, + EV_KEY, KEY_FN_1, + EV_KEY, KEY_FN_2, + EV_KEY, KEY_FN_D, + EV_KEY, KEY_FN_E, + EV_KEY, KEY_FN_F, + EV_KEY, KEY_FN_S, + EV_KEY, KEY_FN_B, + + EV_MSC, MSC_SCAN, + -1, -1, +}; + +TEST_DEVICE("sony-vaio-keys", + .type = LITEST_SONY_VAIO_KEYS, + .features = LITEST_KEYS, + .interface = NULL, + + .name = "Sony Vaio Keys", + .id = &input_id, + .events = events, + .absinfo = NULL, +) diff --git a/test/litest.h b/test/litest.h index 5a43b19..1f4e609 100644 --- a/test/litest.h +++ b/test/litest.h @@ -304,6 +304,8 @@ enum litest_device_type { LITEST_ELAN_TABLET, LITEST_ABSINFO_OVERRIDE, LITEST_TABLET_MODE_UNRELIABLE, + LITEST_KEYBOARD_LOGITECH_MEDIA_KEYBOARD_ELITE, + LITEST_SONY_VAIO_KEYS, }; #define LITEST_DEVICELESS -2 -- 2.7.4