1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/renderer/pepper/usb_key_code_conversion.h"
6
7#include "base/basictypes.h"
8#include "third_party/WebKit/public/web/WebInputEvent.h"
9#include "ui/events/keycodes/dom4/keycode_converter.h"
10
11using blink::WebKeyboardEvent;
12
13namespace content {
14
15uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
16  // TODO(garykac): This code assumes that on Linux we're receiving events via
17  // the XKB driver.  We should detect between "XKB", "kbd" and "evdev" at
18  // run-time and re-map accordingly, but that's not possible here, inside the
19  // sandbox.
20  return ui::KeycodeConverter::NativeKeycodeToUsbKeycode(
21      key_event.nativeKeyCode);
22}
23
24const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
25  return ui::KeycodeConverter::NativeKeycodeToCode(key_event.nativeKeyCode);
26}
27
28}  // namespace content
29