// Copyright (c) 2012 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. #ifndef CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_ #define CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_ #include <vector> #include "chrome/browser/ui/host_desktop.h" #include "chrome/browser/ui/views/chrome_views_export.h" #include "ui/events/keycodes/keyboard_codes.h" namespace ui { class Accelerator; } // This contains the list of accelerators for the Aura implementation. namespace chrome { struct AcceleratorMapping { ui::KeyboardCode keycode; int modifiers; int command_id; }; // Returns a list of accelerator mapping information for accelerators // handled by Chrome but excluding accelerators handled by Ash. CHROME_VIEWS_EXPORT std::vector<AcceleratorMapping> GetAcceleratorList(); // Returns true if the desktop host type indicates Ash and if the // command id has an associated accelerator which is handled by // Ash. If the return is true the accelerator is returned via the // second argument. CHROME_VIEWS_EXPORT bool GetAshAcceleratorForCommandId( int command_id, HostDesktopType host_desktop_type, ui::Accelerator* accelerator); // Returns true if the command id has an associated standard // accelerator like cut, copy and paste. If the return is true the // accelerator is returned via the second argument. CHROME_VIEWS_EXPORT bool GetStandardAcceleratorForCommandId( int command_id, ui::Accelerator* accelerator); } // namespace chrome #endif // CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_