15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <vector> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/host_desktop.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/views/chrome_views_export.h" 12d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ui/events/keycodes/keyboard_codes.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace ui { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Accelerator; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This contains the list of accelerators for the Aura implementation. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct AcceleratorMapping { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ui::KeyboardCode keycode; 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int modifiers; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int command_id; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Returns a list of accelerator mapping information for accelerators 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// handled by Chrome but excluding accelerators handled by Ash. 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CHROME_VIEWS_EXPORT std::vector<AcceleratorMapping> GetAcceleratorList(); 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Returns true if the desktop host type indicates Ash and if the 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// command id has an associated accelerator which is handled by 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Ash. If the return is true the accelerator is returned via the 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// second argument. 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CHROME_VIEWS_EXPORT bool GetAshAcceleratorForCommandId( 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int command_id, 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) HostDesktopType host_desktop_type, 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::Accelerator* accelerator); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Returns true if the command id has an associated standard 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// accelerator like cut, copy and paste. If the return is true the 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// accelerator is returned via the second argument. 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CHROME_VIEWS_EXPORT bool GetStandardAcceleratorForCommandId( 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int command_id, 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ui::Accelerator* accelerator); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_ 50