// Copyright © 2015 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
namespace CefSharp
{
///
/// Class representing a a keyboard event.
///
public struct KeyEvent
{
///
/// The type of keyboard event.
///
public KeyEventType Type { get; set; }
///
/// Bit flags describing any pressed modifier keys. See
/// cef_event_flags_t for values.
///
public CefEventFlags Modifiers { get; set; }
///
/// The Windows key code for the key event. This value is used by the DOM
/// specification. Sometimes it comes directly from the event (i.e. on
/// Windows) and sometimes it's determined using a mapping function. See
/// WebCore/platform/chromium/KeyboardCodes.h for the list of values.
///
public int WindowsKeyCode { get; set; }
///
/// The actual key code genenerated by the platform.
///
public int NativeKeyCode { get; set; }
///
/// Indicates whether the event is considered a "system key" event (see
/// http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details).
/// This value will always be false on non-Windows platforms.
///
public bool IsSystemKey { get; set; }
/////
///// The character generated by the keystroke.
/////
////char16 character { get; set; }
////
//// Same as |character| but unmodified by any concurrently-held modifiers
//// (except shift). This is useful for working out shortcut keys.
////
////char16 unmodified_character { get; set; }
///
/// True if the focus is currently on an editable field on the page. This is useful for determining if standard key events should be intercepted.
///
public bool FocusOnEditableField { get; set; }
}
}