Commit e09c822f authored by Peter Hutterer's avatar Peter Hutterer

udev: re-instate the model-quirks callout

This was removed accidentally as part of a9ef4ba1 and then completely dropped in
870ddce9 when the hwdb was deprecated completely. The model quirks call
is also the one that reads and sets the LIBINPUT_FUZZ property, effectively
making that code a noop.

Fixes #138Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
parent f38fae3a
......@@ -165,6 +165,11 @@ configure_file(input : 'udev/80-libinput-device-groups.rules.in',
install : true,
install_dir : dir_udev_rules,
configuration : udev_rules_config)
configure_file(input : 'udev/90-libinput-model-quirks.rules.in',
output : '90-libinput-model-quirks.rules',
install : true,
install_dir : dir_udev_rules,
configuration : udev_rules_config)
litest_udev_rules_config = configuration_data()
litest_udev_rules_config.set('UDEV_TEST_PATH', meson.build_root() + '/')
......@@ -172,6 +177,10 @@ litest_groups_rules_file = configure_file(input : 'udev/80-libinput-device-group
output : '80-libinput-device-groups-litest.rules',
install : false,
configuration : litest_udev_rules_config)
litest_model_quirks_file = configure_file(input : 'udev/90-libinput-model-quirks.rules.in',
output : '90-libinput-model-quirks-litest.rules',
install : false,
configuration : litest_udev_rules_config)
############ libepoll-shim (BSD) ############
......@@ -760,6 +769,8 @@ if get_option('tests')
join_paths(meson.build_root(), '80-libinput-test-device.rules'))
config_h.set_quoted('LIBINPUT_DEVICE_GROUPS_RULES_FILE',
join_paths(meson.build_root(), '80-libinput-device-groups.rules'))
config_h.set_quoted('LIBINPUT_MODEL_QUIRKS_UDEV_RULES_FILE',
join_paths(meson.build_root(), '90-libinput-model-quirks.rules'))
def_no_main = '-DLITEST_NO_MAIN'
def_disable_backtrace = '-DLITEST_DISABLE_BACKTRACE_LOGGING'
......
......@@ -52,10 +52,10 @@ static struct litest_device_interface interface = {
static struct input_absinfo absinfo[] = {
{ ABS_X, 0, 1500, 10, 0, 0 },
{ ABS_Y, 0, 2500, 10, 0, 0 },
{ ABS_Y, 0, 2500, 12, 0, 0 },
{ ABS_MT_SLOT, 0, 9, 0, 0, 0 },
{ ABS_MT_POSITION_X, 0, 1500, 10, 0, 0 },
{ ABS_MT_POSITION_Y, 0, 2500, 10, 0, 0 },
{ ABS_MT_POSITION_Y, 0, 2500, 12, 0, 0 },
{ ABS_MT_PRESSURE, 0, 255, 0, 0, 0 },
{ ABS_MT_TRACKING_ID, 0, 65535, 0, 0, 0 },
{ .value = -1 },
......
......@@ -1138,6 +1138,11 @@ litest_install_model_quirks(struct list *created_files_list)
LIBINPUT_DEVICE_GROUPS_RULES_FILE,
warning);
list_insert(created_files_list, &file->link);
file = litest_copy_file(UDEV_MODEL_QUIRKS_RULE_FILE,
LIBINPUT_MODEL_QUIRKS_UDEV_RULES_FILE,
warning);
list_insert(created_files_list, &file->link);
}
static char *
......
......@@ -911,6 +911,31 @@ START_TEST(touch_fuzz)
}
END_TEST
START_TEST(touch_fuzz_property)
{
struct litest_device *dev = litest_current_device();
struct udev_device *d;
const char *prop;
int fuzz;
ck_assert_int_eq(libevdev_get_abs_fuzz(dev->evdev, ABS_X), 0);
ck_assert_int_eq(libevdev_get_abs_fuzz(dev->evdev, ABS_Y), 0);
d = libinput_device_get_udev_device(dev->libinput_device);
prop = udev_device_get_property_value(d, "LIBINPUT_FUZZ_00");
ck_assert_notnull(prop);
ck_assert(safe_atoi(prop, &fuzz));
ck_assert_int_eq(fuzz, 10); /* device-specific */
prop = udev_device_get_property_value(d, "LIBINPUT_FUZZ_01");
ck_assert_notnull(prop);
ck_assert(safe_atoi(prop, &fuzz));
ck_assert_int_eq(fuzz, 12); /* device-specific */
udev_device_unref(d);
}
END_TEST
START_TEST(touch_release_on_unplug)
{
struct litest_device *dev;
......@@ -1308,6 +1333,7 @@ TEST_COLLECTION(touch)
litest_add("touch:time", touch_time_usec, LITEST_TOUCH, LITEST_TOUCHPAD);
litest_add_for_device("touch:fuzz", touch_fuzz, LITEST_MULTITOUCH_FUZZ_SCREEN);
litest_add_for_device("touch:fuzz", touch_fuzz_property, LITEST_MULTITOUCH_FUZZ_SCREEN);
litest_add_no_device("touch:release", touch_release_on_unplug);
......
# Do not edit this file, it will be overwritten on update
#
# This file contains lookup rules for libinput model-specific quirks.
# IT IS NOT A STABLE API AND SUBJECT TO CHANGE AT ANY TIME
ACTION!="add|change", GOTO="libinput_model_quirks_end"
KERNEL!="event*", GOTO="libinput_model_quirks_end"
IMPORT{program}="@UDEV_TEST_PATH@libinput-model-quirks %S%p"
LABEL="libinput_model_quirks_end"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment