| // Copyright 2021 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module arc.mojom; |
| |
| // Next method ID: 2 |
| interface KeyboardShortcutHost { |
| // Shows keyboard shortcut helper. |
| ShowKeyboardShortcutViewer@0(); |
| |
| // Hides keyboard shortcut helper. |
| HideKeyboardShortcutViewer@1(); |
| }; |
| |
| // Next method ID: 2 |
| interface KeyboardShortcutInstance { |
| // Establishes full-duplex communication with the host. |
| Init@0(pending_remote<KeyboardShortcutHost> host_remote) => (); |
| |
| // Gets the list of keyboard shortcuts from the currently opened ARC apps. |
| GetKeyboardShortcuts@1() => (array<AppKeyboardShortcutsList> lists); |
| }; |
| |
| // A list of keyboard shortcuts for an app. |
| struct AppKeyboardShortcutsList { |
| // The name of the app. |
| string app_name; |
| // The groups of keyboard shortcuts from the app. |
| array<KeyboardShortcutGroup> groups; |
| }; |
| |
| // A group of KeyboardShortcutInfo. Maps to android.view.KeyboardShortcutGroup. |
| struct KeyboardShortcutGroup { |
| // The label to be used to describe this group. |
| string label; |
| // The list of items included in this group. |
| array<KeyboardShortcutInfo> items; |
| }; |
| |
| // Information about a Keyboard Shortcut. |
| // Maps to android.view.KeyboardShortcutInfo. |
| struct KeyboardShortcutInfo { |
| // The label to be used to describe this shortcut. |
| string label; |
| // The base key code that, combined with the modifiers, triggers the shortcut. |
| // The value of ui::KeyboardCode is used. |
| uint32 keycode; |
| // The set of modifiers that, combined with the key, triggers the shortcut. |
| // The value of ui::EventFlags is used. |
| uint32 modifiers; |
| }; |