- add sources.
[platform/framework/web/crosswalk.git] / src / content / renderer / pepper / usb_key_code_conversion_linux.cc
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/base/keycodes/keycode_converter.h"
10
11 using WebKit::WebKeyboardEvent;
12
13 namespace content {
14
15 uint32_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   ui::KeycodeConverter* key_converter = ui::KeycodeConverter::GetInstance();
21   return key_converter->NativeKeycodeToUsbKeycode(key_event.nativeKeyCode);
22 }
23
24 const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
25   ui::KeycodeConverter* key_converter = ui::KeycodeConverter::GetInstance();
26   return key_converter->NativeKeycodeToCode(key_event.nativeKeyCode);
27 }
28
29 }  // namespace content