public void KeyDown_DontHandleIfIncrementalSearchActive() { var all = new[] { Key.Enter, Key.A }; foreach (var key in all) { _vsAdapter.Setup(x => x.IsIncrementalSearchActive(It.IsAny<ITextView>())).Returns(false); VerifyHandle(key); _vsAdapter.Setup(x => x.IsIncrementalSearchActive(It.IsAny<ITextView>())).Returns(true); VerifyNotHandle(key); } }
public static Keys Convert (swi.Key key, swi.ModifierKeys modifier) { Keys ret = Find(key); if (modifier.HasFlag (swi.ModifierKeys.Alt)) ret |= Keys.Alt; if (modifier.HasFlag (swi.ModifierKeys.Control)) ret |= Keys.Control; if (modifier.HasFlag (swi.ModifierKeys.Shift)) ret |= Keys.Shift; if (modifier.HasFlag (swi.ModifierKeys.Windows)) ret |= Keys.Application; return ret; }
public static Key Convert (swi.Key key, swi.ModifierKeys modifier) { var keys = key.ToString () .Split (new[] { ", " }, StringSplitOptions.None) .Select (v => (swi.Key)Enum.Parse (typeof (swi.Key), v)); Key ret = Key.None; foreach (var val in keys) { ret |= Find (val); } if (modifier.HasFlag (swi.ModifierKeys.Alt)) ret |= Key.Alt; if (modifier.HasFlag (swi.ModifierKeys.Control)) ret |= Key.Control; if (modifier.HasFlag (swi.ModifierKeys.Shift)) ret |= Key.Shift; if (modifier.HasFlag (swi.ModifierKeys.Windows)) ret |= Key.Application; return ret; }
public static Keys ToEtoWithModifier(this swi.Key key, swi.ModifierKeys modifier) { return key.ToEto() | modifier.ToEto(); }
public static Key Find (swi.Key key) { Key mapped; if (keymap.TryGetValue (key, out mapped)) return mapped; else return Key.None; }
public void DontHandleIfIncrementalSearchActive() { var all = new [] { KeyInputUtil.EnterKey, KeyInputUtil.CharToKeyInput('a') }; foreach (var keyInput in all) { _vsAdapter.Setup(x => x.IsIncrementalSearchActive(It.IsAny<ITextView>())).Returns(false); VerifyHandle(keyInput.Char.ToString()); _vsAdapter.Setup(x => x.IsIncrementalSearchActive(It.IsAny<ITextView>())).Returns(true); VerifyNotHandle(keyInput.Char.ToString()); } }
public static Keys Find (swi.Key key) { Keys mapped; return keymap.TryGetValue(key, out mapped) ? mapped : Keys.None; }
private bool IsMediaCommand(WindowsInput.Key key) { return key == Key.MediaNextTrack || key == Key.MediaPreviousTrack || key == Key.MediaStop || key == Key.MediaPlayPause; }
/// <summary> /// Responds to key down in application /// </summary> void input_KeyDown(object sender, WindowsInput.KeyEventArgs e) { _logger.Debug("input_KeyDown {0} Ctrl({1}) Shift({2})", e.Key, IsControlKeyDown(), IsShiftKeyDown()); if (IsDuplicateMediaKeyEvent(e.Key)) { _logger.Debug("KeyDown IsDuplicateMediaKeyEvent true:- Key {0} after cmd {1}", e.Key, _lastCmd); } else { if (_commandReceived != null) { var command = _inputCommandMaps.GetMappedCommand(e.Key, IsControlKeyDown(), IsShiftKeyDown()); _commandReceived.Invoke(null, new CommandEventArgs {Command = command}); } } _lastKeyDown = e.Key; _lastKeyDownTime = DateTime.Now; }
private bool IsDuplicateMediaKeyEvent(WindowsInput.Key key) { return IsMediaCommand(key) && MatchCommandWithWindowsKey(key); }
private bool MatchCommandWithWindowsKey(WindowsInput.Key key) { if ((_lastCmd == AppCommand.APPCOMMAND_MEDIA_NEXTTRACK && key == Key.MediaNextTrack) || (_lastCmd == AppCommand.APPCOMMAND_MEDIA_PREVIOUSTRACK && key == Key.MediaPreviousTrack) || (_lastCmd == AppCommand.APPCOMMAND_MEDIA_STOP && key == Key.MediaStop) || (_lastCmd == AppCommand.APPCOMMAND_MEDIA_PLAY_PAUSE && key == Key.MediaPlayPause)) { // its the same command, did it occur in the last DuplicateCommandPeriod Milliseconds TimeSpan span = DateTime.Now - _lastCmdTime; return span.TotalMilliseconds < DuplicateCommandPeriod; } else { return false; } }
private void AddToolBars() { var mergeBeforePrintSeparator = new[] { new MergePoint(MergeOperation.InsertBefore, "PrintSeparator"), MergePoint.Append }; _toolBarNodes = new MergeableNodeCollection<ICommandItem> { new MergeableNode<ICommandItem>(new CommandGroup("StandardGroup", "Standard"), new MergeableNode<ICommandItem>(CommandItems["PrintPreview"], mergeBeforePrintSeparator), new MergeableNode<ICommandItem>(CommandItems["Print"], mergeBeforePrintSeparator)) }; Editor.ToolBarNodeCollections.Add(_toolBarNodes); }
private void AddMenus() { var mergeBeforePrintSeparator = new[] { new MergePoint(MergeOperation.InsertBefore, "PrintSeparator"), MergePoint.Append }; _menuNodes = new MergeableNodeCollection<ICommandItem> { new MergeableNode<ICommandItem>(new CommandGroup("FileGroup", "_File"), new MergeableNode<ICommandItem>(CommandItems["PrintPreview"], mergeBeforePrintSeparator), new MergeableNode<ICommandItem>(CommandItems["Print"], mergeBeforePrintSeparator)) }; Editor.MenuNodeCollections.Add(_menuNodes); }