diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-09-06 10:20:21 +0200 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2022-11-09 10:46:55 +0000 |
commit | 46643b895cccddac178098f55884c088b2eee694 (patch) | |
tree | c6419c6f2f4eb9003598d1258842b5b97af7d652 | |
parent | 5471b866b3c6aa627aae78de95f20ac635183a10 (diff) | |
download | mutter-46643b895cccddac178098f55884c088b2eee694.tar.gz |
backends: Use capabilities to figure out trackballs in MetaInputSettings
Port these configuration methods to use capabilities, instead of using the
internal vfunc.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2617>
-rw-r--r-- | src/backends/meta-input-settings.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c index 7d03d7182..1e00c6e47 100644 --- a/src/backends/meta-input-settings.c +++ b/src/backends/meta-input-settings.c @@ -930,12 +930,18 @@ update_trackball_scroll_button (MetaInputSettings *input_settings, MetaInputSettingsPrivate *priv; guint button; gboolean button_lock; + ClutterInputCapabilities caps; priv = meta_input_settings_get_instance_private (input_settings); input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings); - if (device && !input_settings_class->is_trackball_device (input_settings, device)) - return; + if (device) + { + caps = clutter_input_device_get_capabilities (device); + + if ((caps & CLUTTER_INPUT_CAPABILITY_TRACKBALL) == 0) + return; + } /* This key is 'i' in the schema but it also specifies a minimum * range of 0 so the cast here is safe. */ @@ -953,8 +959,9 @@ update_trackball_scroll_button (MetaInputSettings *input_settings, for (l = priv->devices; l; l = l->next) { device = l->data; + caps = clutter_input_device_get_capabilities (device); - if (input_settings_class->is_trackball_device (input_settings, device)) + if ((caps & CLUTTER_INPUT_CAPABILITY_TRACKBALL) != 0) input_settings_class->set_scroll_button (input_settings, device, button, button_lock); } } |