1bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch// found in the LICENSE file.
4bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
5bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/browser/renderer_host/input/web_input_event_util_posix.h"
6bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
7bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochnamespace content {
8bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
9bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochui::KeyboardCode GetWindowsKeyCodeWithoutLocation(ui::KeyboardCode key_code) {
10bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  switch (key_code) {
11bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LCONTROL:
12bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RCONTROL:
13bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch      return ui::VKEY_CONTROL;
14bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LSHIFT:
15bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RSHIFT:
16bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    return ui::VKEY_SHIFT;
17bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LMENU:
18bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RMENU:
19bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch      return ui::VKEY_MENU;
20bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    default:
21bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch      return key_code;
22bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  }
23bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}
24bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)blink::WebInputEvent::Modifiers GetLocationModifiersFromWindowsKeyCode(
26bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    ui::KeyboardCode key_code) {
27bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  switch (key_code) {
28bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LCONTROL:
29bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LSHIFT:
30bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LMENU:
31bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_LWIN:
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      return blink::WebKeyboardEvent::IsLeft;
33bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RCONTROL:
34bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RSHIFT:
35bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RMENU:
36bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    case ui::VKEY_RWIN:
37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      return blink::WebKeyboardEvent::IsRight;
38bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    default:
39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      return static_cast<blink::WebInputEvent::Modifiers>(0);
40bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch  }
41bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}
42bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
43bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}  // namespace content
44