blob: 3dfa807c7b8ee5ed87fb85b1542081c1cac2bf0b [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/pepper/usb_key_code_conversion.h"
#include "base/basictypes.h"
#include "third_party/WebKit/public/web/WebInputEvent.h"
#include "ui/events/keycodes/dom4/keycode_converter.h"
using blink::WebKeyboardEvent;
namespace content {
uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
// Extract the scancode and extended bit from the native key event's lParam.
int scancode = (key_event.nativeKeyCode >> 16) & 0x000000FF;
if ((key_event.nativeKeyCode & (1 << 24)) != 0)
scancode |= 0xe000;
return ui::KeycodeConverter::NativeKeycodeToUsbKeycode(scancode);
}
const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
// Extract the scancode and extended bit from the native key event's lParam.
int scancode = (key_event.nativeKeyCode >> 16) & 0x000000FF;
if ((key_event.nativeKeyCode & (1 << 24)) != 0)
scancode |= 0xe000;
return ui::KeycodeConverter::NativeKeycodeToCode(scancode);
}
} // namespace content