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

Side by Side Diff: ui/events/keycodes/dom4/keycode_converter.cc

Issue 1120813002: Remove EF_FUNCTION_KEY and EF_NUMPAD_KEY. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add and fix tests Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/events/keycodes/dom4/keycode_converter.h" 5 #include "ui/events/keycodes/dom4/keycode_converter.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ui/events/keycodes/dom3/dom_code.h" 8 #include "ui/events/keycodes/dom3/dom_code.h"
9 #include "ui/events/keycodes/dom3/dom_key.h" 9 #include "ui/events/keycodes/dom3/dom_key.h"
10 10
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 LOG(WARNING) << "unrecognized code string '" << code << "'"; 132 LOG(WARNING) << "unrecognized code string '" << code << "'";
133 return DomCode::NONE; 133 return DomCode::NONE;
134 } 134 }
135 135
136 // static 136 // static
137 const char* KeycodeConverter::DomCodeToCodeString(DomCode dom_code) { 137 const char* KeycodeConverter::DomCodeToCodeString(DomCode dom_code) {
138 return UsbKeycodeToCode(static_cast<uint32_t>(dom_code)); 138 return UsbKeycodeToCode(static_cast<uint32_t>(dom_code));
139 } 139 }
140 140
141 // static 141 // static
142 DomCodeLocation KeycodeConverter::DomCodeToLocation(DomCode dom_code) {
143 static const struct {
144 DomCode code;
145 DomCodeLocation location;
146 } kLocations[] = {{DomCode::CONTROL_LEFT, DomCodeLocation::LEFT},
Wez 2015/05/05 00:29:09 Will this cause a static to be initialized on firs
kpschoedel 2015/05/05 16:30:08 'static const' lets it use the data directly from
147 {DomCode::SHIFT_LEFT, DomCodeLocation::LEFT},
148 {DomCode::ALT_LEFT, DomCodeLocation::LEFT},
149 {DomCode::OS_LEFT, DomCodeLocation::LEFT},
150 {DomCode::CONTROL_RIGHT, DomCodeLocation::RIGHT},
151 {DomCode::SHIFT_RIGHT, DomCodeLocation::RIGHT},
152 {DomCode::ALT_RIGHT, DomCodeLocation::RIGHT},
153 {DomCode::OS_RIGHT, DomCodeLocation::RIGHT},
154 {DomCode::NUMPAD_DIVIDE, DomCodeLocation::NUMPAD},
155 {DomCode::NUMPAD_MULTIPLY, DomCodeLocation::NUMPAD},
156 {DomCode::NUMPAD_SUBTRACT, DomCodeLocation::NUMPAD},
157 {DomCode::NUMPAD_ADD, DomCodeLocation::NUMPAD},
158 {DomCode::NUMPAD_ENTER, DomCodeLocation::NUMPAD},
159 {DomCode::NUMPAD1, DomCodeLocation::NUMPAD},
160 {DomCode::NUMPAD2, DomCodeLocation::NUMPAD},
161 {DomCode::NUMPAD3, DomCodeLocation::NUMPAD},
162 {DomCode::NUMPAD4, DomCodeLocation::NUMPAD},
163 {DomCode::NUMPAD5, DomCodeLocation::NUMPAD},
164 {DomCode::NUMPAD6, DomCodeLocation::NUMPAD},
165 {DomCode::NUMPAD7, DomCodeLocation::NUMPAD},
166 {DomCode::NUMPAD8, DomCodeLocation::NUMPAD},
167 {DomCode::NUMPAD9, DomCodeLocation::NUMPAD},
168 {DomCode::NUMPAD0, DomCodeLocation::NUMPAD},
169 {DomCode::NUMPAD_DECIMAL, DomCodeLocation::NUMPAD},
170 {DomCode::NUMPAD_EQUAL, DomCodeLocation::NUMPAD},
171 {DomCode::NUMPAD_COMMA, DomCodeLocation::NUMPAD},
172 {DomCode::NUMPAD_PAREN_LEFT, DomCodeLocation::NUMPAD},
173 {DomCode::NUMPAD_PAREN_RIGHT, DomCodeLocation::NUMPAD},
174 {DomCode::NUMPAD_BACKSPACE, DomCodeLocation::NUMPAD},
175 {DomCode::NUMPAD_MEMORY_STORE, DomCodeLocation::NUMPAD},
176 {DomCode::NUMPAD_MEMORY_RECALL, DomCodeLocation::NUMPAD},
177 {DomCode::NUMPAD_MEMORY_CLEAR, DomCodeLocation::NUMPAD},
178 {DomCode::NUMPAD_MEMORY_ADD, DomCodeLocation::NUMPAD},
179 {DomCode::NUMPAD_MEMORY_SUBTRACT, DomCodeLocation::NUMPAD},
180 {DomCode::NUMPAD_SIGN_CHANGE, DomCodeLocation::NUMPAD},
181 {DomCode::NUMPAD_CLEAR, DomCodeLocation::NUMPAD},
182 {DomCode::NUMPAD_CLEAR_ENTRY, DomCodeLocation::NUMPAD}};
Wez 2015/05/05 00:29:09 nit: Although this is future-proof, you could reas
kpschoedel 2015/05/05 16:30:08 Yes; my reasoning was that the non-digit NUMPAD va
Wez 2015/05/05 21:23:44 Acknowledged.
183 for (const auto& key : kLocations) {
184 if (key.code == dom_code)
185 return key.location;
186 }
187 return DomCodeLocation::STANDARD;
188 }
189
190 // static
142 DomKey KeycodeConverter::KeyStringToDomKey(const char* key) { 191 DomKey KeycodeConverter::KeyStringToDomKey(const char* key) {
143 if (!key || !*key) 192 if (!key || !*key)
144 return DomKey::NONE; 193 return DomKey::NONE;
145 for (size_t i = 0; i < kDomKeyMapEntries; ++i) { 194 for (size_t i = 0; i < kDomKeyMapEntries; ++i) {
146 if (dom_key_map[i].string && 195 if (dom_key_map[i].string &&
147 strcmp(dom_key_map[i].string, key) == 0) { 196 strcmp(dom_key_map[i].string, key) == 0) {
148 return dom_key_map[i].dom_key; 197 return dom_key_map[i].dom_key;
149 } 198 }
150 } 199 }
151 return DomKey::NONE; 200 return DomKey::NONE;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 for (size_t i = 0; i < kKeycodeMapEntries; ++i) { 273 for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
225 if (usb_keycode_map[i].code && 274 if (usb_keycode_map[i].code &&
226 strcmp(usb_keycode_map[i].code, code) == 0) { 275 strcmp(usb_keycode_map[i].code, code) == 0) {
227 return usb_keycode_map[i].usb_keycode; 276 return usb_keycode_map[i].usb_keycode;
228 } 277 }
229 } 278 }
230 return InvalidUsbKeycode(); 279 return InvalidUsbKeycode();
231 } 280 }
232 281
233 } // namespace ui 282 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698