diff --git a/src/backends/meta-remote-desktop-session.c b/src/backends/meta-remote-desktop-session.c index ad9b7672a..4429c3567 100644 --- a/src/backends/meta-remote-desktop-session.c +++ b/src/backends/meta-remote-desktop-session.c @@ -253,6 +253,10 @@ meta_remote_desktop_session_new (MetaRemoteDesktop *remote_desktop, const char *peer_name, GError **error) { + MetaBackend *backend = meta_remote_desktop_get_backend (remote_desktop); + ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend); + ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend); + ClutterKeymap *keymap = clutter_seat_get_keymap (seat); GDBusInterfaceSkeleton *interface_skeleton; MetaRemoteDesktopSession *session; @@ -271,6 +275,13 @@ meta_remote_desktop_session_new (MetaRemoteDesktop *remote_desktop, return NULL; } + g_object_bind_property (keymap, "caps-lock-state", + session, "caps-lock-state", + G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); + g_object_bind_property (keymap, "num-lock-state", + session, "num-lock-state", + G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); + return session; } diff --git a/src/org.gnome.Mutter.RemoteDesktop.xml b/src/org.gnome.Mutter.RemoteDesktop.xml index 43657f9ed..7bae10e43 100644 --- a/src/org.gnome.Mutter.RemoteDesktop.xml +++ b/src/org.gnome.Mutter.RemoteDesktop.xml @@ -343,6 +343,9 @@ + + +