From cab4919e802b732c29c2f2aa323f533da181b477 Mon Sep 17 00:00:00 2001 From: "mazda@chromium.org" Date: Wed, 30 Mar 2011 05:43:14 +0000 Subject: [PATCH] Change the separator of the keyboard overlay data to allow labels containing spaces. BUG=chromium-os:13047 TEST=manually on the netbook Review URL: http://codereview.chromium.org/6708107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79794 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/resources/keyboard_overlay.js | 5 +- chrome/browser/resources/keyboard_overlay_data.js | 150 ++++++++++----------- .../gen_keyboard_overlay_data.py | 29 ++-- 3 files changed, 87 insertions(+), 97 deletions(-) diff --git a/chrome/browser/resources/keyboard_overlay.js b/chrome/browser/resources/keyboard_overlay.js index 6f414f94d93d..95fd86a8bd07 100644 --- a/chrome/browser/resources/keyboard_overlay.js +++ b/chrome/browser/resources/keyboard_overlay.js @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -223,7 +223,8 @@ function getKeyLabel(keyData, modifiers) { * Returns a normalized string used for a key of shortcutData. */ function getAction(keycode, modifiers) { - return [keycode].concat(modifiers).join(' '); + const SEPARATOR = '<>'; + return [keycode].concat(modifiers).join(SEPARATOR); } /** diff --git a/chrome/browser/resources/keyboard_overlay_data.js b/chrome/browser/resources/keyboard_overlay_data.js index e5cde966e072..2e811312185c 100644 --- a/chrome/browser/resources/keyboard_overlay_data.js +++ b/chrome/browser/resources/keyboard_overlay_data.js @@ -23530,81 +23530,81 @@ var keyboardOverlayData = { ] }, "shortcut": { - "+ CTRL": "keyboardOverlayZoomIn", - ", CTRL": "keyboardOverlaySettings", - "- CTRL": "keyboardOverlayZoomOut", - "/ ALT CTRL": "keyboardOverlayViewKeyboardOverlay", - "/ CTRL": "keyboardOverlayHelp", - "0 CTRL": "keyboardOverlayResetZoom", - "1 CTRL": "keyboardOverlayActivateTab1", - "2 CTRL": "keyboardOverlayActivateTab2", - "3 CTRL": "keyboardOverlayActivateTab3", - "4 CTRL": "keyboardOverlayActivateTab4", - "5 CTRL": "keyboardOverlayActivateTab5", - "6 CTRL": "keyboardOverlayActivateTab6", - "7 CTRL": "keyboardOverlayActivateTab7", - "8 CTRL": "keyboardOverlayActivateTab8", - "9 CTRL": "keyboardOverlayActivateLastTab", - "a CTRL": "keyboardOverlaySelectAll", - "alt SHIFT": "keyboardOverlayCycleThroughInputMethods", - "arrowkeys CTRL": "keyboardOverlayWordMove", - "b CTRL SHIFT": "keyboardOverlayToggleBookmarkBar", + "+<>CTRL": "keyboardOverlayZoomIn", + ",<>CTRL": "keyboardOverlaySettings", + "-<>CTRL": "keyboardOverlayZoomOut", + "/<>ALT<>CTRL": "keyboardOverlayViewKeyboardOverlay", + "/<>CTRL": "keyboardOverlayHelp", + "0<>CTRL": "keyboardOverlayResetZoom", + "1<>CTRL": "keyboardOverlayActivateTab1", + "2<>CTRL": "keyboardOverlayActivateTab2", + "3<>CTRL": "keyboardOverlayActivateTab3", + "4<>CTRL": "keyboardOverlayActivateTab4", + "5<>CTRL": "keyboardOverlayActivateTab5", + "6<>CTRL": "keyboardOverlayActivateTab6", + "7<>CTRL": "keyboardOverlayActivateTab7", + "8<>CTRL": "keyboardOverlayActivateTab8", + "9<>CTRL": "keyboardOverlayActivateLastTab", + "alt<>SHIFT": "keyboardOverlayCycleThroughInputMethods", + "a<>CTRL": "keyboardOverlaySelectAll", + "arrowkeys<>CTRL": "keyboardOverlayWordMove", + "b<>CTRL<>SHIFT": "keyboardOverlayToggleBookmarkBar", "backspace": "keyboardOverlayBack", - "backspace CTRL": "keyboardOverlayDeleteWord", - "backspace CTRL SHIFT": "keyboardOverlayClearBrowsingDataDialog", - "backspace SHIFT": "keyboardOverlayForward", - "c CTRL": "keyboardOverlayCopy", - "d ALT": "keyboardOverlayFocusAddressBar", - "d CTRL": "keyboardOverlayBookmarkCurrentPage", - "d CTRL SHIFT": "keyboardOverlayBookmarkAllTabs", - "down ALT": "keyboardOverlayPageDown", - "down ALT CTRL": "keyboardOverlayEnd", - "e CTRL": "keyboardOverlayFocusAddressBarInSearchMode", - "enter ALT": "keyboardOverlayOpenAddressInNewTab", - "enter CTRL": "keyboardOverlayAddWwwAndComAndOpenAddress", - "enter SHIFT": "keyboardOverlayFindPrevious", - "esc SHIFT": "keyboardOverlayTaskManager", - "f ALT CTRL": "keyboardOverlayFullScreen", - "f CTRL": "keyboardOverlayFindText", - "fullscreen CTRL": "keyboardOverlayTakeScreenshot", - "g CTRL": "keyboardOverlayFindAgain", - "g CTRL SHIFT": "keyboardOverlayFindPrevious", - "h CTRL": "keyboardOverlayHistory", - "i CTRL SHIFT": "keyboardOverlayDeveloperTools", - "j CTRL": "keyboardOverlayDownloads", - "j CTRL SHIFT": "keyboardOverlayDomInspector", - "k CTRL": "keyboardOverlayFocusAddressBarInSearchMode", - "l CTRL": "keyboardOverlayFocusAddressBar", - "left ALT": "keyboardOverlayBack", - "left CTRL SHIFT": "keyboardOverlaySelectWordAtATime", - "m ALT CTRL": "keyboardOverlayUseExternalMonitor", - "n CTRL": "keyboardOverlayNewWindow", - "n CTRL SHIFT": "keyboardOverlayNewIncognitoWindow", - "o CTRL": "keyboardOverlayContentBrowser", - "p CTRL": "keyboardOverlayPrint", + "backspace<>CTRL": "keyboardOverlayDeleteWord", + "backspace<>CTRL<>SHIFT": "keyboardOverlayClearBrowsingDataDialog", + "backspace<>SHIFT": "keyboardOverlayForward", + "c<>CTRL": "keyboardOverlayCopy", + "d<>ALT": "keyboardOverlayFocusAddressBar", + "d<>CTRL": "keyboardOverlayBookmarkCurrentPage", + "d<>CTRL<>SHIFT": "keyboardOverlayBookmarkAllTabs", + "down<>ALT": "keyboardOverlayPageDown", + "down<>ALT<>CTRL": "keyboardOverlayEnd", + "e<>CTRL": "keyboardOverlayFocusAddressBarInSearchMode", + "enter<>ALT": "keyboardOverlayOpenAddressInNewTab", + "enter<>CTRL": "keyboardOverlayAddWwwAndComAndOpenAddress", + "enter<>SHIFT": "keyboardOverlayFindPrevious", + "esc<>SHIFT": "keyboardOverlayTaskManager", + "f<>ALT<>CTRL": "keyboardOverlayFullScreen", + "f<>CTRL": "keyboardOverlayFindText", + "fullscreen<>CTRL": "keyboardOverlayTakeScreenshot", + "g<>CTRL": "keyboardOverlayFindAgain", + "g<>CTRL<>SHIFT": "keyboardOverlayFindPrevious", + "h<>CTRL": "keyboardOverlayHistory", + "i<>CTRL<>SHIFT": "keyboardOverlayDeveloperTools", + "j<>CTRL": "keyboardOverlayDownloads", + "j<>CTRL<>SHIFT": "keyboardOverlayDomInspector", + "k<>CTRL": "keyboardOverlayFocusAddressBarInSearchMode", + "l<>CTRL": "keyboardOverlayFocusAddressBar", + "left<>ALT": "keyboardOverlayBack", + "left<>CTRL<>SHIFT": "keyboardOverlaySelectWordAtATime", + "m<>ALT<>CTRL": "keyboardOverlayUseExternalMonitor", + "n<>CTRL": "keyboardOverlayNewWindow", + "n<>CTRL<>SHIFT": "keyboardOverlayNewIncognitoWindow", + "o<>CTRL": "keyboardOverlayContentBrowser", + "p<>CTRL": "keyboardOverlayPrint", "power": "keyboardOverlayLockScreenOrPowerOff", - "q CTRL SHIFT": "keyboardOverlaySignOut", - "r CTRL": "keyboardOverlayReloadCurrentPage", - "r CTRL SHIFT": "keyboardOverlayReloadIgnoringCache", - "right ALT": "keyboardOverlayForward", - "right CTRL SHIFT": "keyboardOverlaySelectWordAtATime", - "s CTRL": "keyboardOverlaySave", - "space CTRL": "keyboardOverlaySelectPreviousInputMethod", - "space SHIFT": "keyboardOverlayScrollUpOnePage", - "t CTRL": "keyboardOverlayNewTab", - "t CTRL SHIFT": "keyboardOverlayReopenLastClosedTab", - "tab ALT": "keyboardOverlayPreviousWindow", - "tab ALT SHIFT": "keyboardOverlayNextWindow", - "tab CTRL": "keyboardOverlayActivateNextTab", - "tab CTRL SHIFT": "keyboardOverlayActivatePreviousTab", - "u CTRL": "keyboardOverlayViewSource", - "up ALT": "keyboardOverlayPageUp", - "up ALT CTRL": "keyboardOverlayHome", - "v CTRL": "keyboardOverlayPaste", - "v CTRL SHIFT": "keyboardOverlayPasteAsPlainText", - "w CTRL": "keyboardOverlayCloseTab", - "w CTRL SHIFT": "keyboardOverlayCloseWindow", - "x CTRL": "keyboardOverlayCut", - "z CTRL": "keyboardOverlayUndo" + "q<>CTRL<>SHIFT": "keyboardOverlaySignOut", + "r<>CTRL": "keyboardOverlayReloadCurrentPage", + "r<>CTRL<>SHIFT": "keyboardOverlayReloadIgnoringCache", + "right<>ALT": "keyboardOverlayForward", + "right<>CTRL<>SHIFT": "keyboardOverlaySelectWordAtATime", + "s<>CTRL": "keyboardOverlaySave", + "space<>CTRL": "keyboardOverlaySelectPreviousInputMethod", + "space<>SHIFT": "keyboardOverlayScrollUpOnePage", + "t<>CTRL": "keyboardOverlayNewTab", + "t<>CTRL<>SHIFT": "keyboardOverlayReopenLastClosedTab", + "tab<>ALT": "keyboardOverlayPreviousWindow", + "tab<>ALT<>SHIFT": "keyboardOverlayNextWindow", + "tab<>CTRL": "keyboardOverlayActivateNextTab", + "tab<>CTRL<>SHIFT": "keyboardOverlayActivatePreviousTab", + "u<>CTRL": "keyboardOverlayViewSource", + "up<>ALT": "keyboardOverlayPageUp", + "up<>ALT<>CTRL": "keyboardOverlayHome", + "v<>CTRL": "keyboardOverlayPaste", + "v<>CTRL<>SHIFT": "keyboardOverlayPasteAsPlainText", + "w<>CTRL": "keyboardOverlayCloseTab", + "w<>CTRL<>SHIFT": "keyboardOverlayCloseWindow", + "x<>CTRL": "keyboardOverlayCut", + "z<>CTRL": "keyboardOverlayUndo" } -}; \ No newline at end of file +}; diff --git a/tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py b/tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py index 1fbde76af8c2..67573631e21a 100755 --- a/tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py +++ b/tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py @@ -102,30 +102,19 @@ def ToKeys(hotkey): """Converts the action value to shortcut keys used from JavaScript. Examples: - 'Ctrl - 9' => '9 CTRL' - 'Ctrl - Shift - Tab' => 'tab CTRL SHIFT' + 'Ctrl - 9' => '9<>CTRL' + 'Ctrl - Shift - Tab' => 'tab<>CTRL<>SHIFT' """ - values = hotkey.split(' ') - modifiers = [] - keycode = -1 - for i, value in enumerate(values): - if i == len(values) - 1: - pass - elif value == 'Shift': - modifiers.append('SHIFT') - elif value == 'Ctrl': - modifiers.append('CTRL') - elif value == 'Alt': - modifiers.append('ALT') - if value == '-' and i == len(values) - 2: - continue - modifiers.sort() - keycode = value.lower().rstrip() + values = hotkey.split(' - ') + modifiers = sorted(value.upper() for value in values + if value in ['Shift', 'Ctrl', 'Alt']) + keycode = [value.lower() for value in values + if value not in ['Shift', 'Ctrl', 'Alt']] # The keys which are highlighted even without modifier keys. base_keys = ['backspace', 'power'] - if not modifiers and keycode not in base_keys: + if not modifiers and (keycode and keycode[0] not in base_keys): return None - return ' '.join([keycode] + modifiers) + return '<>'.join(keycode + modifiers) def ParseOptions(): -- 2.11.4.GIT