void Window_KeyUp(object sender, KeyEventArgs e) { // cmd key tracking if (e.Key == Key.LeftCtrl) m_cmdKeysDown &= ~CmdKeys.LeftCtrl; else if (e.Key == Key.RightCtrl) m_cmdKeysDown &= ~CmdKeys.RightCtrl; else if (e.Key == Key.LeftAlt) m_cmdKeysDown &= ~CmdKeys.LeftAlt; else if (e.Key == Key.RightAlt) m_cmdKeysDown &= ~CmdKeys.RightAlt; else if (e.Key == Key.LeftShift) m_cmdKeysDown &= ~CmdKeys.LeftShift; else if (e.Key == Key.RightShift) m_cmdKeysDown &= ~CmdKeys.RightShift; }
void Window_KeyDown(object sender, KeyEventArgs e) { // cmd key tracking if (e.Key == Key.LeftCtrl) m_cmdKeysDown |= CmdKeys.LeftCtrl; else if (e.Key == Key.RightCtrl) m_cmdKeysDown |= CmdKeys.RightCtrl; else if (e.Key == Key.LeftAlt) m_cmdKeysDown |= CmdKeys.LeftAlt; else if (e.Key == Key.RightAlt) m_cmdKeysDown |= CmdKeys.RightAlt; else if (e.Key == Key.LeftShift) m_cmdKeysDown |= CmdKeys.LeftShift; else if (e.Key == Key.RightShift) m_cmdKeysDown |= CmdKeys.RightShift; // common keyboard shortcuts if (e.Key == Key.S && (m_cmdKeysDown & CmdKeys.Ctrl) != CmdKeys.None) File_Save_Clicked(this, new RoutedEventArgs()); else if (e.Key == Key.O && (m_cmdKeysDown & CmdKeys.Ctrl) != CmdKeys.None) File_Open_Clicked(this, new RoutedEventArgs()); }