public override bool UIKeyPressed(KeyInfo key) { if (key == null) throw new ArgumentNullException("key"); UserWants = UserAction.None; try { switch (key.VirtualKeyCode) { case KeyCode.Enter: if (key.Is()) { FarFile file = CurrentFile; if (file == null) break; UserWants = UserAction.Enter; if (file.IsDirectory && !IgnoreDirectoryFlag) break; UIOpenFile(file); return true; } if (key.IsShift()) { UIAttributes(); return true; } break; case KeyCode.F1: if (key.Is()) { UIHelp(); return true; } break; case KeyCode.F3: if (key.Is()) { if (CurrentFile == null) { UIViewAll(); return true; } break; } if (key.IsShift()) { ShowMenu(); return true; } break; case KeyCode.PageDown: if (key.IsCtrl()) { UIOpenFileMembers(); return true; } break; case KeyCode.A: if (key.IsCtrl()) { UIAttributes(); return true; } break; case KeyCode.G: if (key.IsCtrl()) { UIApply(); return true; } break; case KeyCode.M: if (key.IsCtrlShift()) { UIMode(); return true; } break; case KeyCode.S: //! Mantis#2635 Ignore if auto-completion menu is opened if (key.IsCtrl() && Far.Api.Window.Kind != WindowKind.Menu) { SaveData(); return true; } break; } // base return base.UIKeyPressed(key); } finally { UserWants = UserAction.None; } }