| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| include: [ |
| "//sdk/lib/inspect/client.shard.cml", |
| "syslog/client.shard.cml", |
| ], |
| program: { |
| runner: "elf", |
| binary: "bin/scene_manager", |
| }, |
| children: [ |
| { |
| name: "cursor", |
| url: "fuchsia-pkg://fuchsia.com/cursor#meta/cursor.cm", |
| }, |
| ], |
| capabilities: [ |
| { |
| protocol: [ |
| "fuchsia.input.injection.InputDeviceRegistry", |
| "fuchsia.session.scene.Manager", |
| "fuchsia.ui.accessibility.view.Registry", |
| "fuchsia.ui.input.config.Features", |
| ], |
| }, |
| ], |
| use: [ |
| { |
| directory: "dev-input-report", |
| from: "parent", |
| rights: [ "r*" ], |
| path: "/dev/class/input-report", |
| }, |
| { |
| protocol: [ |
| // Used to register with the a11y service as the magnification handler. |
| "fuchsia.accessibility.Magnifier", |
| |
| // Used by the input pipeline library which is linked into the |
| // scene manager. |
| "fuchsia.accessibility.scene.Provider", |
| "fuchsia.settings.Keyboard", |
| "fuchsia.ui.composition.Flatland", |
| "fuchsia.ui.composition.FlatlandDisplay", |
| |
| // Used by the input pipeline library to distribute focus. |
| "fuchsia.ui.focus.FocusChainListenerRegistry", |
| "fuchsia.ui.input.ImeService", |
| "fuchsia.ui.input3.Keyboard", |
| "fuchsia.ui.input3.KeyEventInjector", |
| |
| // Used by the input pipeline library to distribute focus. |
| "fuchsia.ui.keyboard.focus.Controller", |
| "fuchsia.ui.pointerinjector.Registry", |
| "fuchsia.ui.scenic.Scenic", |
| |
| // Used by the input pipeline library to distribute focus. |
| "fuchsia.ui.shortcut.Manager", |
| "fuchsia.ui.views.ViewRefInstalled", |
| ], |
| }, |
| { |
| protocol: "fuchsia.ui.app.ViewProvider", |
| from: "#cursor", |
| }, |
| ], |
| offer: [ |
| { |
| protocol: [ |
| "fuchsia.logger.LogSink", |
| "fuchsia.sysmem.Allocator", |
| "fuchsia.tracing.provider.Registry", |
| "fuchsia.ui.composition.Allocator", |
| "fuchsia.ui.composition.Flatland", |
| "fuchsia.ui.scenic.Scenic", |
| "fuchsia.vulkan.loader.Loader", |
| ], |
| from: "parent", |
| to: [ "#cursor" ], |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "fuchsia.input.injection.InputDeviceRegistry", |
| "fuchsia.session.scene.Manager", |
| "fuchsia.ui.accessibility.view.Registry", |
| "fuchsia.ui.input.config.Features", |
| ], |
| from: "self", |
| }, |
| ], |
| } |