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.
5 #include "content/renderer/pepper/usb_key_code_conversion.h"
7 #include "base/basictypes.h"
8 #include "third_party/WebKit/public/web/WebInputEvent.h"
9 #include "ui/events/keycodes/dom4/keycode_converter.h"
11 using blink::WebKeyboardEvent
;
15 uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent
& key_event
) {
16 // Extract the scancode and extended bit from the native key event's lParam.
17 int scancode
= (key_event
.nativeKeyCode
>> 16) & 0x000000FF;
18 if ((key_event
.nativeKeyCode
& (1 << 24)) != 0)
21 ui::KeycodeConverter
* key_converter
= ui::KeycodeConverter::GetInstance();
22 return key_converter
->NativeKeycodeToUsbKeycode(scancode
);
25 const char* CodeForKeyboardEvent(const WebKeyboardEvent
& key_event
) {
26 // Extract the scancode and extended bit from the native key event's lParam.
27 int scancode
= (key_event
.nativeKeyCode
>> 16) & 0x000000FF;
28 if ((key_event
.nativeKeyCode
& (1 << 24)) != 0)
31 ui::KeycodeConverter
* key_converter
= ui::KeycodeConverter::GetInstance();
32 return key_converter
->NativeKeycodeToCode(scancode
);
35 } // namespace content