确定VirtualKey是否是修饰键?

时间:2017-01-03 10:05:18

标签: keyboard uwp

在我的UWP应用程序中,我通过观察KeyDown事件来检测按键。这给了我一个VirtualKey。但是,如何判断密钥是否为修饰键?

1 个答案:

答案 0 :(得分:0)

这是我所拥有的最好的。我确定它不完整,而且它肯定不会适合未来。我希望有更好的答案。在此期间,其他人被邀请添加我错过的密钥。

public static VirtualKey[] ModifierKeys =
{
  VirtualKey.Shift,
  VirtualKey.LeftShift,
  VirtualKey.RightShift,
  VirtualKey.LeftWindows,
  VirtualKey.RightWindows,
  VirtualKey.Menu,    // aka alt
  VirtualKey.Control,
  VirtualKey.LeftControl,
  VirtualKey.RightControl,
  VirtualKey.CapitalLock,
  VirtualKey.NumberKeyLock,
  VirtualKey.Insert,
};

public static bool IsModifierKey(this VirtualKey key) {
  bool r = ModifierKeys.Contains(key);
  return r;
}