diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c index c55debe99..ac4bddbbd 100644 --- a/src/backends/meta-input-settings.c +++ b/src/backends/meta-input-settings.c @@ -857,7 +857,7 @@ update_device_display (MetaInputSettings *input_settings, input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings); /* If mapping is relative, the device can move on all displays */ - if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE || + if (clutter_input_device_get_device_type (device) == CLUTTER_TOUCHSCREEN_DEVICE || clutter_input_device_get_mapping_mode (device) == CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE) logical_monitor = meta_input_settings_find_logical_monitor (input_settings, diff --git a/src/backends/x11/meta-input-settings-x11.c b/src/backends/x11/meta-input-settings-x11.c index 894e4bb9e..636f98a7a 100644 --- a/src/backends/x11/meta-input-settings-x11.c +++ b/src/backends/x11/meta-input-settings-x11.c @@ -551,6 +551,15 @@ meta_input_settings_x11_set_tablet_mapping (MetaInputSettings *settings, g_warning ("Could not set tablet mapping for %s", clutter_input_device_get_device_name (device)); } + else + { + ClutterInputDeviceMapping dev_mapping; + + dev_mapping = (mapping == G_DESKTOP_TABLET_MAPPING_ABSOLUTE) ? + CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE : + CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE; + clutter_input_device_set_mapping_mode (device, dev_mapping); + } } static gboolean