diff -Nru libevdev-1.5.8+dfsg/debian/changelog libevdev-1.5.8+dfsg/debian/changelog --- libevdev-1.5.8+dfsg/debian/changelog 2018-01-29 08:19:01.000000000 +0000 +++ libevdev-1.5.8+dfsg/debian/changelog 2022-04-19 07:09:56.000000000 +0000 @@ -1,3 +1,17 @@ +libevdev (1.5.8+dfsg-1ubuntu0.2) bionic-security; urgency=medium + + * No change rebuild in -security pocket. + + -- Alex Murray Tue, 19 Apr 2022 16:39:56 +0930 + +libevdev (1.5.8+dfsg-1ubuntu0.1) bionic; urgency=medium + + * debian/patches/Add libevdev_disable_property: + - needed for libinput quirks on some Dell Precision configurations + (lp: #1906341) + + -- Kai-Chuan Hsieh Thu, 03 Dec 2020 15:37:38 +0100 + libevdev (1.5.8+dfsg-1) unstable; urgency=medium * New upstream release. diff -Nru libevdev-1.5.8+dfsg/debian/control libevdev-1.5.8+dfsg/debian/control --- libevdev-1.5.8+dfsg/debian/control 2018-01-29 08:19:01.000000000 +0000 +++ libevdev-1.5.8+dfsg/debian/control 2022-04-19 07:09:56.000000000 +0000 @@ -1,5 +1,6 @@ Source: libevdev -Maintainer: Stephen Kitt +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Stephen Kitt Section: libs Priority: optional Build-Depends: check, diff -Nru libevdev-1.5.8+dfsg/debian/patches/0001-Add-libevdev_disable_property.patch libevdev-1.5.8+dfsg/debian/patches/0001-Add-libevdev_disable_property.patch --- libevdev-1.5.8+dfsg/debian/patches/0001-Add-libevdev_disable_property.patch 1970-01-01 00:00:00.000000000 +0000 +++ libevdev-1.5.8+dfsg/debian/patches/0001-Add-libevdev_disable_property.patch 2020-12-03 14:37:38.000000000 +0000 @@ -0,0 +1,72 @@ +Add libevdev_disable_property + +Backport upstream commit: +https://gitlab.freedesktop.org/libevdev/libevdev/-/commit/4226c7801b4ea1b0c7d1eaac47ca24ece8f24809 + +--- a/libevdev/libevdev.c ++++ b/libevdev/libevdev.c +@@ -1209,6 +1209,16 @@ + } + + LIBEVDEV_EXPORT int ++libevdev_disable_property(struct libevdev *dev, unsigned int prop) ++{ ++ if (prop > INPUT_PROP_MAX) ++ return -1; ++ ++ clear_bit(dev->props, prop); ++ return 0; ++} ++ ++LIBEVDEV_EXPORT int + libevdev_has_event_type(const struct libevdev *dev, unsigned int type) + { + return type == EV_SYN ||(type <= EV_MAX && bit_is_set(dev->bits, type)); +--- a/libevdev/libevdev.h ++++ b/libevdev/libevdev.h +@@ -1378,6 +1378,16 @@ + int libevdev_enable_property(struct libevdev *dev, unsigned int prop); + + /** ++ * @ingroup kernel ++ * ++ * @param dev The evdev device ++ * @param prop The input property to disable, one of INPUT_PROP_... ++ * ++ * @return 0 on success or -1 on failure ++ */ ++int libevdev_disable_property(struct libevdev *dev, unsigned int prop); ++ ++/** + * @ingroup bits + * + * @param dev The evdev device, already initialized with libevdev_set_fd() +--- a/test/test-libevdev-has-event.c ++++ b/test/test-libevdev-has-event.c +@@ -305,6 +305,13 @@ + ck_assert_int_eq(libevdev_has_property(dev, INPUT_PROP_DIRECT), 0); + ck_assert_int_eq(libevdev_has_property(dev, INPUT_PROP_BUTTONPAD), 1); + ++ /* Test disabling the properties too */ ++ ck_assert_int_eq(libevdev_disable_property(dev, INPUT_PROP_MAX + 1), -1); ++ ck_assert_int_eq(libevdev_disable_property(dev, INPUT_PROP_DIRECT), 0); ++ ck_assert_int_eq(libevdev_disable_property(dev, INPUT_PROP_BUTTONPAD), 0); ++ ck_assert_int_eq(libevdev_has_property(dev, INPUT_PROP_DIRECT), 0); ++ ck_assert_int_eq(libevdev_has_property(dev, INPUT_PROP_BUTTONPAD), 0); ++ + uinput_device_free(uidev); + libevdev_free(dev); + } +--- a/libevdev/libevdev.sym ++++ b/libevdev/libevdev.sym +@@ -112,3 +112,10 @@ + local: + *; + } LIBEVDEV_1; ++ ++LIBEVDEV_1_4 { ++global: ++ libevdev_disable_property; ++local: ++ *; ++} LIBEVDEV_1_3; diff -Nru libevdev-1.5.8+dfsg/debian/patches/series libevdev-1.5.8+dfsg/debian/patches/series --- libevdev-1.5.8+dfsg/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ libevdev-1.5.8+dfsg/debian/patches/series 2020-12-03 14:37:38.000000000 +0000 @@ -0,0 +1 @@ +0001-Add-libevdev_disable_property.patch