| // Copyright 2013 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_ACCELERATORS_ACCELERATOR_COMMANDS_H_ |
| #define ASH_ACCELERATORS_ACCELERATOR_COMMANDS_H_ |
| |
| #include "ash/app_list/app_list_metrics.h" |
| #include "ash/ash_export.h" |
| #include "ash/focus_cycler.h" |
| #include "ash/public/cpp/accelerators.h" |
| #include "ash/public/cpp/session/session_types.h" |
| |
| // This file contains implementations of commands that are bound to keyboard |
| // shortcuts in Ash or in the embedding application (e.g. Chrome). |
| // |
| // Keep the functions in this file in alphabetical order. |
| namespace ash { |
| |
| // These values are persisted to logs. Entries should not be renumbered and |
| // numeric values should never be reused. |
| // Captures usage of Alt+[ and Alt+]. |
| enum class WindowSnapAcceleratorAction { |
| kCycleLeftSnapInClamshellNoOverview = 0, |
| kCycleLeftSnapInClamshellOverview = 1, |
| kCycleLeftSnapInTablet = 2, |
| kCycleRightSnapInClamshellNoOverview = 3, |
| kCycleRightSnapInClamshellOverview = 4, |
| kCycleRightSnapInTablet = 5, |
| kMaxValue = kCycleRightSnapInTablet, |
| }; |
| |
| // UMA accessibility histogram names. |
| ASH_EXPORT extern const char kAccessibilityHighContrastShortcut[]; |
| ASH_EXPORT extern const char kAccessibilitySpokenFeedbackShortcut[]; |
| ASH_EXPORT extern const char kAccessibilityScreenMagnifierShortcut[]; |
| ASH_EXPORT extern const char kAccessibilityDockedMagnifierShortcut[]; |
| |
| // Name of histogram corresponding to |WindowSnapAcceleratorAction|. |
| ASH_EXPORT extern const char kAccelWindowSnap[]; |
| |
| namespace accelerators { |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // CanFoo() functions: |
| // True should be returned if running |action| does something. Otherwise, |
| // false should be returned to give the web contents a chance at handling the |
| // accelerator. |
| // Note: These functions should be independent and not depend on |
| // ui::Accelerator. |
| |
| ASH_EXPORT bool CanActivateTouchHud(); |
| |
| ASH_EXPORT bool CanCreateNewIncognitoWindow(); |
| |
| ASH_EXPORT bool CanCycleInputMethod(); |
| |
| ASH_EXPORT bool CanCycleMru(); |
| |
| ASH_EXPORT bool CanCycleSameAppWindows(); |
| |
| ASH_EXPORT bool CanCycleUser(); |
| |
| ASH_EXPORT bool CanFindPipWidget(); |
| |
| ASH_EXPORT bool CanFocusCameraPreview(); |
| |
| ASH_EXPORT bool CanLock(); |
| |
| ASH_EXPORT bool CanMoveActiveWindowBetweenDisplays(); |
| |
| ASH_EXPORT bool CanMinimizeTopWindowOnBack(); |
| |
| ASH_EXPORT bool CanPerformMagnifierZoom(); |
| |
| ASH_EXPORT bool CanScreenshot(bool take_screenshot); |
| |
| ASH_EXPORT bool CanShowStylusTools(); |
| |
| ASH_EXPORT bool CanStartAmbientMode(); |
| |
| ASH_EXPORT bool CanSwapPrimaryDisplay(); |
| |
| ASH_EXPORT bool CanToggleCalendar(); |
| |
| ASH_EXPORT bool CanToggleDictation(); |
| |
| ASH_EXPORT bool CanToggleFloatingWindow(); |
| |
| ASH_EXPORT bool CanToggleGameDashboard(); |
| |
| ASH_EXPORT bool CanToggleMultitaskMenu(); |
| |
| ASH_EXPORT bool CanToggleOverview(); |
| |
| ASH_EXPORT bool CanTogglePrivacyScreen(); |
| |
| ASH_EXPORT bool CanToggleProjectorMarker(); |
| |
| ASH_EXPORT bool CanToggleResizeLockMenu(); |
| |
| ASH_EXPORT bool CanUnpinWindow(); |
| |
| ASH_EXPORT bool CanWindowSnap(); |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // Accelerator commands. |
| // Note: These functions should be independent and not depend on ui::Accelerator |
| |
| // Activates desk on the left/right. |
| ASH_EXPORT void ActivateDesk(bool activate_left); |
| |
| // Activates desk 1 to 8. |
| ASH_EXPORT void ActivateDeskAtIndex(AcceleratorAction action); |
| |
| // Changes the scale of the active magnifier. |
| ASH_EXPORT void ActiveMagnifierZoom(int delta_index); |
| |
| // Brightness down. |
| ASH_EXPORT void BrightnessDown(); |
| |
| // Brightness up. |
| ASH_EXPORT void BrightnessUp(); |
| |
| // Cycles windows of the same app/all windows backwards in the MRU window list. |
| ASH_EXPORT void CycleBackwardMru(bool same_app_only); |
| |
| // Cycles windows of the same app/all windows forwards in the MRU window list. |
| ASH_EXPORT void CycleForwardMru(bool same_app_only); |
| |
| // Switches to next/previous user. |
| ASH_EXPORT void CycleUser(CycleUserDirection direction); |
| |
| // Disables caps-lock. |
| ASH_EXPORT void DisableCapsLock(); |
| |
| // Focuses the camera preview if it is present. |
| ASH_EXPORT void FocusCameraPreview(); |
| |
| // Focuses the PiP window if it is present. |
| ASH_EXPORT void FocusPip(); |
| |
| // Focuses the shelf. |
| ASH_EXPORT void FocusShelf(); |
| |
| // Dims keyboard. |
| ASH_EXPORT void KeyboardBrightnessDown(); |
| |
| // Makes keyboard brighter |
| ASH_EXPORT void KeyboardBrightnessUp(); |
| |
| // Launches the nth(0-7) app on the shelf. |
| ASH_EXPORT void LaunchAppN(int n); |
| |
| // Launches the right-most app on the shelf. |
| ASH_EXPORT void LaunchLastApp(); |
| |
| // Presses lock button. |
| ASH_EXPORT void LockPressed(bool pressed); |
| |
| // Locks the screen. |
| ASH_EXPORT void LockScreen(); |
| |
| // Takes partial screenshot/recording. |
| ASH_EXPORT void MaybeTakePartialScreenshot(); |
| |
| // Takes window screenshot/recording. |
| ASH_EXPORT void MaybeTakeWindowScreenshot(); |
| |
| // Fast-forwards playing media. |
| ASH_EXPORT void MediaFastForward(); |
| |
| // Goes to the next media track. |
| ASH_EXPORT void MediaNextTrack(); |
| |
| // Pauses media. |
| ASH_EXPORT void MediaPause(); |
| |
| // Plays media. |
| ASH_EXPORT void MediaPlay(); |
| |
| // Toggles pause or play on media. |
| ASH_EXPORT void MediaPlayPause(); |
| |
| // Goes to the previous media track. |
| ASH_EXPORT void MediaPrevTrack(); |
| |
| // Rewinds playing media. |
| ASH_EXPORT void MediaRewind(); |
| |
| // Stops playing media. |
| ASH_EXPORT void MediaStop(); |
| |
| // Moves active window between displays. |
| ASH_EXPORT void MoveActiveWindowBetweenDisplays(); |
| |
| // Toggles microphone mute. |
| ASH_EXPORT void MicrophoneMuteToggle(); |
| |
| // Moves active window to the desk on the left/right. |
| ASH_EXPORT void MoveActiveItem(bool going_left); |
| |
| // Creates a new desk. |
| ASH_EXPORT void NewDesk(); |
| |
| // Opens a new incognito browser window. |
| ASH_EXPORT void NewIncognitoWindow(); |
| |
| // Opens a new tab. |
| ASH_EXPORT void NewTab(); |
| |
| // Opens a new browser window. |
| ASH_EXPORT void NewWindow(); |
| |
| // Opens the calculator app. |
| ASH_EXPORT void OpenCalculator(); |
| |
| // Opens Crosh. |
| ASH_EXPORT void OpenCrosh(); |
| |
| // Opens the diagnostics app. |
| ASH_EXPORT void OpenDiagnostics(); |
| |
| // Opens the feedback app. |
| ASH_EXPORT void OpenFeedbackPage(); |
| |
| // Opens the file manager app. |
| ASH_EXPORT void OpenFileManager(); |
| |
| // Opens the help/explore app. |
| ASH_EXPORT void OpenHelp(); |
| |
| // Presses power button. |
| ASH_EXPORT void PowerPressed(bool pressed); |
| |
| // Records when the user changes the output volume via keyboard to metrics. |
| ASH_EXPORT void RecordVolumeSource(); |
| |
| // Removes the current desk. |
| ASH_EXPORT void RemoveCurrentDesk(); |
| |
| // Resets the display zooming to the default state. |
| ASH_EXPORT void ResetDisplayZoom(); |
| |
| // Restores the last closed tab in the browser. |
| ASH_EXPORT void RestoreTab(); |
| |
| // Rotates the active window 90 degrees. |
| ASH_EXPORT void RotateActiveWindow(); |
| |
| // Rotates pane focus on next/previous pane. |
| ASH_EXPORT void RotatePaneFocus(FocusCycler::Direction direction); |
| |
| // Rotates screen 90 degrees. |
| ASH_EXPORT void RotateScreen(); |
| |
| // Changes primary display to the secondary display next to current primary |
| // display |
| ASH_EXPORT void ShiftPrimaryDisplay(); |
| |
| // Opens Emoji Picker. |
| ASH_EXPORT void ShowEmojiPicker(); |
| |
| // Sees keyboard shortcut helper. |
| ASH_EXPORT void ShowKeyboardShortcutViewer(); |
| |
| // Opens Shortcut Customization. |
| ASH_EXPORT void ShowShortcutCustomizationApp(); |
| |
| // Shows stylus tools. |
| ASH_EXPORT void ShowStylusTools(); |
| |
| // Brings up task manager. |
| ASH_EXPORT void ShowTaskManager(); |
| |
| // Puts device in sleep mode(suspend). |
| ASH_EXPORT void Suspend(); |
| |
| // Switches to next language. |
| ASH_EXPORT void SwitchToNextIme(); |
| |
| // Takes screenshot. |
| ASH_EXPORT void TakeScreenshot(bool from_snapshot_key); |
| |
| // Turns the ambient mode on or off. |
| ASH_EXPORT void ToggleAmbientMode(); |
| |
| // Toggles app list. |
| ASH_EXPORT void ToggleAppList(AppListShowSource show_source, |
| base::TimeTicks event_time_stamp); |
| |
| // Assigns active window to all desks. |
| ASH_EXPORT void ToggleAssignToAllDesk(); |
| |
| // Toggles Google assistant. |
| ASH_EXPORT void ToggleAssistant(); |
| |
| // Toogles to show and hide the calendar widget. |
| ASH_EXPORT void ToggleCalendar(); |
| |
| // Turns caps lock on and off. |
| ASH_EXPORT void ToggleCapsLock(); |
| |
| // Toggles the clipboard history. |
| ASH_EXPORT void ToggleClipboardHistory(bool is_plain_text_paste); |
| |
| // Turns the dictation on or off. |
| ASH_EXPORT void ToggleDictation(); |
| |
| // Turns the docked magnifier on or off. |
| ASH_EXPORT void ToggleDockedMagnifier(); |
| |
| // Toggles the floating window. |
| ASH_EXPORT void ToggleFloating(); |
| |
| // Toggles the fullscreen state. The behavior can be overridden |
| // by WindowStateDelegate::ToggleFullscreen(). |
| ASH_EXPORT void ToggleFullscreen(); |
| |
| // Turns the fullscreen magnifier mode on or off. |
| ASH_EXPORT void ToggleFullscreenMagnifier(); |
| |
| // Toggles the game dashboard on the current window. |
| ASH_EXPORT void ToggleGameDashboard(); |
| |
| // Turns the high contrast mode on or off. |
| ASH_EXPORT void ToggleHighContrast(); |
| |
| // Toggles to show/close the Ime Menu. |
| ASH_EXPORT void ToggleImeMenuBubble(); |
| |
| // Toggles keyboard backlight. |
| ASH_EXPORT void ToggleKeyboardBacklight(); |
| |
| // Toggles the maxmized state. If the window is in fulllscreen, it exits |
| // fullscreen mode. |
| ASH_EXPORT void ToggleMaximized(); |
| |
| // Turns the message center on or off. |
| ASH_EXPORT void ToggleMessageCenterBubble(); |
| |
| // Minimizes the active window, if present. If no windows are active, restores |
| // the first unminimized window. Returns true if a window was minimized or |
| // restored. |
| ASH_EXPORT bool ToggleMinimized(); |
| |
| // Turns the mirror mode on or off. |
| ASH_EXPORT void ToggleMirrorMode(); |
| |
| // Toggles the multitask menu. |
| ASH_EXPORT void ToggleMultitaskMenu(); |
| |
| // Turns the overview mode on or off. |
| ASH_EXPORT void ToggleOverview(); |
| |
| // Toggles on/off the electronic privacy screen. |
| ASH_EXPORT void TogglePrivacyScreen(); |
| |
| // Toggles the Projector annotation tray UI and marker enabled state. |
| ASH_EXPORT void ToggleProjectorMarker(); |
| |
| // Toggles the resize lock mode menu for a focused ARC++ resize-locked app if |
| // present. |
| ASH_EXPORT void ToggleResizeLockMenu(); |
| |
| // Turns ChromeVox (spoken feedback) on or off. |
| ASH_EXPORT void ToggleSpokenFeedback(); |
| |
| // Turns the system tray on or off. |
| ASH_EXPORT void ToggleSystemTrayBubble(); |
| |
| // Turns the wifi on or off. |
| ASH_EXPORT void ToggleWifi(); |
| |
| // Toggles the unified desktop mode which allows a window to span multiple |
| // displays. |
| ASH_EXPORT void ToggleUnifiedDesktop(); |
| |
| // Minimizes the top window on the back. |
| ASH_EXPORT void TopWindowMinimizeOnBack(); |
| |
| // Clears the touch hud. |
| ASH_EXPORT void TouchHudClear(); |
| |
| // Changes the touch hud mode. |
| ASH_EXPORT void TouchHudModeChange(); |
| |
| // If a window is pinned (aka forced fullscreen), exits from pinned mode. |
| ASH_EXPORT void UnpinWindow(); |
| |
| // Volume down. |
| ASH_EXPORT void VolumeDown(); |
| |
| // Volume mute. |
| ASH_EXPORT void VolumeMute(); |
| |
| // Volume up. |
| ASH_EXPORT void VolumeUp(); |
| |
| // Minimizes the window. |
| ASH_EXPORT void WindowMinimize(); |
| |
| // Snaps window to the left/right. |
| ASH_EXPORT void WindowSnap(AcceleratorAction action); |
| |
| // Changes the display zooming up or down. |
| ASH_EXPORT bool ZoomDisplay(bool up); |
| |
| } // namespace accelerators |
| } // namespace ash |
| |
| #endif // ASH_ACCELERATORS_ACCELERATOR_COMMANDS_H_ |