@@ -44,10 +44,12 @@ public class Gala.KeyboardManager : Object {
4444 }
4545
4646 private bool switch_input_source (bool backward ) {
47+ #if ! HAS_MUTTER50
4748#if HAS_MUTTER46
4849 display. get_compositor (). backend. ungrab_keyboard (display. get_current_time ());
4950#else
5051 display. ungrab_keyboard (display. get_current_time ());
52+ #endif
5153#endif
5254
5355 var sources = settings. get_value (" sources" );
@@ -71,7 +73,11 @@ public class Gala.KeyboardManager : Object {
7173 private void on_settings_changed (string key ) {
7274 unowned var backend = display. get_context (). get_backend ();
7375
76+ #if HAS_MUTTER50
77+ if (key == " sources" || key == " xkb-options" || key == " xkb-model" || key == " current" ) {
78+ #else
7479 if (key == " sources" || key == " xkb-options" || key == " xkb-model" ) {
80+ #endif
7581 string [] layouts = {}, variants = {};
7682
7783 var sources = settings. get_value (" sources" );
@@ -113,7 +119,12 @@ public class Gala.KeyboardManager : Object {
113119 cancellable = new GLib .Cancellable ();
114120 }
115121
122+ #if HAS_MUTTER50
123+ var description = new Meta .KeymapDescription .from_rules (settings. get_string (" xkb-model" ), layout, variant, options, layouts, layouts);
124+ backend. set_keymap_async. begin (description, settings. get_uint (" current" ), cancellable, (obj, res) = > {
125+ #else
116126 backend. set_keymap_async. begin (layout, variant, options, settings. get_string (" xkb-model" ), cancellable, (obj, res) = > {
127+ #endif
117128 try {
118129 ((Meta . Backend ) obj). set_keymap_async. end (res);
119130 } catch (Error e) {
@@ -129,6 +140,7 @@ public class Gala.KeyboardManager : Object {
129140#else
130141 backend. set_keymap (layout, variant, options);
131142#endif
143+ #if ! HAS_MUTTER50
132144 } else if (key == " current" ) {
133145#if HAS_MUTTER49
134146 if (cancellable != null ) {
@@ -149,6 +161,7 @@ public class Gala.KeyboardManager : Object {
149161 });
150162#else
151163 backend. lock_layout_group (settings. get_uint (" current" ));
164+ #endif
152165#endif
153166 }
154167 }
0 commit comments