Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2821)

Unified Diff: chrome/browser/global_keyboard_shortcuts_mac.mm

Issue 149325: Add facitility for Global Keyboard shortcuts. (Closed)
Patch Set: Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/global_keyboard_shortcuts_mac.mm
diff --git a/chrome/browser/global_keyboard_shortcuts_mac.mm b/chrome/browser/global_keyboard_shortcuts_mac.mm
new file mode 100644
index 0000000000000000000000000000000000000000..426d379c8910ca13f84daa6f24c4d758fa22f9d1
--- /dev/null
+++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -0,0 +1,43 @@
+// Copyright (c) 2009 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.
+
+#include "chrome/browser/global_keyboard_shortcuts_mac.h"
+
+#include "base/basictypes.h"
+#include "chrome/app/chrome_dll_resource.h"
+
+const KeyboardShortcutData* GetKeyboardShortCutTable(size_t* num_entries) {
+ static const KeyboardShortcutData keyboard_shortcuts[] = {
+ {true, true, false, 30 /* ] */, IDC_SELECT_NEXT_TAB},
+ {false, false, true, 121 /* pg down */, IDC_SELECT_NEXT_TAB},
+ {true, true, false, 33 /* [ */, IDC_SELECT_PREVIOUS_TAB},
+ {false, false, true, 116 /* pg_up */, IDC_SELECT_PREVIOUS_TAB},
+ };
+
+ *num_entries = arraysize(keyboard_shortcuts);
+
+ return keyboard_shortcuts;
+}
+
+int CommandForKeyboardShortcut(bool command_key, bool shift_key, bool cntrl_key,
+ int vkey_code) {
+
+ // Scan through keycodes and see if it corresponds to one of the global
+ // shortcuts on file.
+ //
+ // TODO(jeremy): Change this into a hash table once we get enough
+ // entries in the array to make a difference.
+ size_t num_shortcuts = 0;
+ const KeyboardShortcutData *it = GetKeyboardShortCutTable(&num_shortcuts);
+ for (size_t i = 0; i < num_shortcuts; ++i, ++it) {
+ if (it->command_key == command_key &&
+ it->shift_key == shift_key &&
+ it->cntrl_key == cntrl_key &&
+ it->vkey_code == vkey_code) {
+ return it->chrome_command;
+ }
+ }
+
+ return -1;
+}

Powered by Google App Engine
This is Rietveld 408576698