summaryrefslogtreecommitdiff
path: root/src/backends/native/meta-input-settings-native.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/native/meta-input-settings-native.c')
-rw-r--r--src/backends/native/meta-input-settings-native.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/backends/native/meta-input-settings-native.c b/src/backends/native/meta-input-settings-native.c
index 6f4ff6ba7..9ad28452d 100644
--- a/src/backends/native/meta-input-settings-native.c
+++ b/src/backends/native/meta-input-settings-native.c
@@ -70,8 +70,19 @@ meta_input_settings_native_set_matrix (MetaInputSettings *settings,
{
cairo_matrix_t dev_matrix;
- cairo_matrix_init (&dev_matrix, matrix[0], matrix[3], matrix[1],
- matrix[4], matrix[2], matrix[5]);
+ if (clutter_input_device_get_device_type (device) ==
+ CLUTTER_TOUCHSCREEN_DEVICE ||
+ clutter_input_device_get_mapping_mode (device) ==
+ CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
+ {
+ cairo_matrix_init (&dev_matrix, matrix[0], matrix[3], matrix[1],
+ matrix[4], matrix[2], matrix[5]);
+ }
+ else
+ {
+ cairo_matrix_init_identity (&dev_matrix);
+ }
+
g_object_set (device, "device-matrix", &dev_matrix, NULL);
}