// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) 2020 OxyPlot contributors
//
//
// Provides utility methods related to the keyboard.
//
// --------------------------------------------------------------------------------------------------------------------
namespace OxyPlot.Wpf
{
using System.Windows.Input;
///
/// Provides utility methods related to the keyboard.
///
internal static class Keyboard
{
///
/// Gets the current modifier keys.
///
/// A value.
public static OxyModifierKeys GetModifierKeys()
{
var modifiers = OxyModifierKeys.None;
if (System.Windows.Input.Keyboard.IsKeyDown(Key.LeftShift) || System.Windows.Input.Keyboard.IsKeyDown(Key.RightShift))
{
modifiers |= OxyModifierKeys.Shift;
}
if (System.Windows.Input.Keyboard.IsKeyDown(Key.LeftCtrl) || System.Windows.Input.Keyboard.IsKeyDown(Key.RightCtrl))
{
modifiers |= OxyModifierKeys.Control;
}
if (System.Windows.Input.Keyboard.IsKeyDown(Key.LeftAlt) || System.Windows.Input.Keyboard.IsKeyDown(Key.RightAlt))
{
modifiers |= OxyModifierKeys.Alt;
}
if (System.Windows.Input.Keyboard.IsKeyDown(Key.LWin) || System.Windows.Input.Keyboard.IsKeyDown(Key.RWin))
{
modifiers |= OxyModifierKeys.Windows;
}
return modifiers;
}
}
}