add some KeyCode extension methods to make KeyUp/Down event methods easier to read

This commit is contained in:
adelikat 2020-07-11 15:34:54 -05:00
parent e29d024a90
commit aeaf6aa282
16 changed files with 71 additions and 58 deletions

View File

@ -1350,7 +1350,7 @@ namespace BizHawk.Client.EmuHawk
{ {
if (!SuspendHotkeys) if (!SuspendHotkeys)
{ {
if (e.Control && !e.Alt && e.Shift && e.KeyCode == Keys.F) // Ctrl+Shift+F if (e.IsCtrlShift(Keys.F))
{ {
if (Rotatable) if (Rotatable)
{ {
@ -1358,7 +1358,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
// Scroll // Scroll
else if (!e.Control && !e.Alt && !e.Shift && e.KeyCode == Keys.PageUp) // Page Up else if (e.IsPressed(Keys.PageUp))
{ {
if (ChangeSelectionWhenPaging) if (ChangeSelectionWhenPaging)
{ {
@ -1380,7 +1380,7 @@ namespace BizHawk.Client.EmuHawk
LastVisibleRow = FirstVisibleRow; LastVisibleRow = FirstVisibleRow;
} }
} }
else if (!e.Control && !e.Alt && !e.Shift && e.KeyCode == Keys.PageDown) // Page Down else if (e.IsPressed(Keys.PageDown))
{ {
if (ChangeSelectionWhenPaging) if (ChangeSelectionWhenPaging)
{ {
@ -1402,21 +1402,21 @@ namespace BizHawk.Client.EmuHawk
FirstVisibleRow = LastVisibleRow; FirstVisibleRow = LastVisibleRow;
} }
} }
else if (AllowMassNavigationShortcuts && !e.Control && !e.Alt && !e.Shift && e.KeyCode == Keys.Home) // Home else if (AllowMassNavigationShortcuts && e.IsPressed(Keys.Home))
{ {
DeselectAll(); DeselectAll();
SelectRow(0, true); SelectRow(0, true);
FirstVisibleRow = 0; FirstVisibleRow = 0;
Refresh(); Refresh();
} }
else if (AllowMassNavigationShortcuts && !e.Control && !e.Alt && !e.Shift && e.KeyCode == Keys.End) // End else if (AllowMassNavigationShortcuts && e.IsPressed(Keys.End))
{ {
DeselectAll(); DeselectAll();
SelectRow(RowCount - 1, true); SelectRow(RowCount - 1, true);
LastVisibleRow = RowCount; LastVisibleRow = RowCount;
Refresh(); Refresh();
} }
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Up else if (e.IsPressed(Keys.Up))
{ {
if (SelectedRows.Any()) if (SelectedRows.Any())
{ {
@ -1431,7 +1431,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
} }
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Down else if (e.IsPressed(Keys.Down))
{ {
if (SelectedRows.Any()) if (SelectedRows.Any())
{ {
@ -1446,7 +1446,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
} }
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Shift+Up else if (e.IsShift(Keys.Up))
{ {
if (MultiSelect && _lastSelectedRow > 0) if (MultiSelect && _lastSelectedRow > 0)
{ {
@ -1463,7 +1463,7 @@ namespace BizHawk.Client.EmuHawk
Refresh(); Refresh();
} }
} }
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Shift+Down else if (e.IsShift(Keys.Down))
{ {
if (MultiSelect && _lastSelectedRow < RowCount - 1) if (MultiSelect && _lastSelectedRow < RowCount - 1)
{ {
@ -1486,7 +1486,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
// Selection cursor // Selection cursor
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Ctrl + Up else if (e.IsCtrl(Keys.Up))
{ {
if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.First() > 0) if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.First() > 0)
{ {
@ -1497,7 +1497,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
} }
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Ctrl + Down else if (e.IsCtrl(Keys.Down))
{ {
if (SelectedRows.Any() && LetKeysModifySelection) if (SelectedRows.Any() && LetKeysModifySelection)
{ {
@ -1508,35 +1508,35 @@ namespace BizHawk.Client.EmuHawk
} }
} }
} }
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Left) // Ctrl + Left else if (e.IsCtrl(Keys.Left))
{ {
if (SelectedRows.Any() && LetKeysModifySelection) if (SelectedRows.Any() && LetKeysModifySelection)
{ {
SelectRow(SelectedRows.Last(), false); SelectRow(SelectedRows.Last(), false);
} }
} }
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Right) // Ctrl + Right else if (e.IsCtrl(Keys.Right))
{ {
if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.Last() < _rowCount - 1) if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.Last() < _rowCount - 1)
{ {
SelectRow(SelectedRows.Last() + 1, true); SelectRow(SelectedRows.Last() + 1, true);
} }
} }
else if (e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Left) // Ctrl + Shift + Left else if (e.IsCtrlShift(Keys.Left))
{ {
if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.First() > 0) if (SelectedRows.Any() && LetKeysModifySelection && SelectedRows.First() > 0)
{ {
SelectRow(SelectedRows.First() - 1, true); SelectRow(SelectedRows.First() - 1, true);
} }
} }
else if (e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Right) // Ctrl + Shift + Right else if (e.IsCtrlShift(Keys.Right))
{ {
if (SelectedRows.Any() && LetKeysModifySelection) if (SelectedRows.Any() && LetKeysModifySelection)
{ {
SelectRow(SelectedRows.First(), false); SelectRow(SelectedRows.First(), false);
} }
} }
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.PageUp) // Ctrl + Page Up else if (e.IsCtrl(Keys.PageUp))
{ {
//jump to above marker with selection courser //jump to above marker with selection courser
if (LetKeysModifySelection) if (LetKeysModifySelection)
@ -1544,7 +1544,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.PageDown) // Ctrl + Page Down else if (e.IsCtrl(Keys.PageDown))
{ {
//jump to below marker with selection courser //jump to below marker with selection courser
if (LetKeysModifySelection) if (LetKeysModifySelection)

View File

@ -177,7 +177,7 @@ namespace BizHawk.Client.EmuHawk
protected override void OnKeyUp(KeyEventArgs e) protected override void OnKeyUp(KeyEventArgs e)
{ {
if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt) if (e.IsAlt(Keys.F4))
{ {
base.OnKeyUp(e); base.OnKeyUp(e);
} }
@ -185,7 +185,7 @@ namespace BizHawk.Client.EmuHawk
protected override void OnKeyDown(KeyEventArgs e) protected override void OnKeyDown(KeyEventArgs e)
{ {
if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt) if (e.IsAlt(Keys.F4))
{ {
base.OnKeyDown(e); base.OnKeyDown(e);
return; return;

View File

@ -319,5 +319,20 @@ namespace BizHawk.Client.EmuHawk
} }
} }
} }
public static bool IsPressed(this KeyEventArgs e, Keys key)
=> !e.Alt && !e.Control && !e.Shift && e.KeyCode == key;
public static bool IsShift(this KeyEventArgs e, Keys key)
=> !e.Alt && !e.Control && e.Shift && e.KeyCode == key;
public static bool IsCtrl(this KeyEventArgs e, Keys key)
=> !e.Alt && e.Control && !e.Shift && e.KeyCode == key;
public static bool IsAlt(this KeyEventArgs e, Keys key)
=> e.Alt && !e.Control && !e.Shift && e.KeyCode == key;
public static bool IsCtrlShift(this KeyEventArgs e, Keys key)
=> !e.Alt && e.Control && e.Shift && e.KeyCode == key;
} }
} }

View File

@ -112,7 +112,7 @@ namespace BizHawk.Client.EmuHawk
private void ListView_KeyDown(object sender, KeyEventArgs e) private void ListView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) if (e.IsCtrl(Keys.C))
{ {
ButtonCopy_Click(null, null); ButtonCopy_Click(null, null);
} }

View File

@ -392,13 +392,13 @@ namespace BizHawk.Client.EmuHawk
private void lvFirmwares_KeyDown(object sender, KeyEventArgs e) private void lvFirmwares_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) if (e.IsCtrl(Keys.C))
{ {
PerformListCopy(); PerformListCopy();
} }
} }
void PerformListCopy() private void PerformListCopy()
{ {
var str = lvFirmwares.CopyItemsAsText(); var str = lvFirmwares.CopyItemsAsText();
if (str.Length > 0) Clipboard.SetDataObject(str); if (str.Length > 0) Clipboard.SetDataObject(str);

View File

@ -28,7 +28,7 @@ namespace BizHawk.Client.EmuHawk
private void LvOptions_KeyDown(object sender, KeyEventArgs e) private void LvOptions_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) if (e.IsCtrl(Keys.C))
{ {
PerformListCopy(); PerformListCopy();
} }

View File

@ -208,9 +208,7 @@ namespace BizHawk.Client.EmuHawk
private void SearchBox_KeyDown(object sender, KeyEventArgs e) private void SearchBox_KeyDown(object sender, KeyEventArgs e)
{ {
// Tab or Enter if (e.IsPressed(Keys.Enter) || e.IsPressed(Keys.Tab))
if (!e.Control && !e.Alt && !e.Shift &&
(e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab))
{ {
var b = _config.HotkeyBindings.FirstOrDefault(x => string.Compare(x.DisplayName, SearchBox.Text, true) == 0); var b = _config.HotkeyBindings.FirstOrDefault(x => string.Compare(x.DisplayName, SearchBox.Text, true) == 0);

View File

@ -608,11 +608,11 @@ namespace BizHawk.Client.EmuHawk
private void CheatListView_KeyDown(object sender, KeyEventArgs e) private void CheatListView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) if (e.IsPressed(Keys.Delete))
{ {
RemoveCheatMenuItem_Click(sender, e); RemoveCheatMenuItem_Click(sender, e);
} }
else if (e.KeyCode == Keys.A && e.Control && !e.Alt && !e.Shift) else if (e.IsCtrl(Keys.A))
{ {
SelectAllMenuItem_Click(null, null); SelectAllMenuItem_Click(null, null);
} }

View File

@ -235,7 +235,7 @@ namespace BizHawk.Client.EmuHawk
private void BreakpointView_KeyDown(object sender, KeyEventArgs e) private void BreakpointView_KeyDown(object sender, KeyEventArgs e)
{ {
if (!e.Control && !e.Alt && !e.Shift && e.KeyCode == Keys.Delete) // Delete if (e.IsPressed(Keys.Delete))
{ {
RemoveBreakpointButton_Click(null, null); RemoveBreakpointButton_Click(null, null);
} }

View File

@ -204,15 +204,15 @@ namespace BizHawk.Client.EmuHawk
private void DisassemblerView_KeyDown(object sender, KeyEventArgs e) private void DisassemblerView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.C) // Ctrl + C if (e.IsCtrl(Keys.C))
{ {
CopySelectedDisassembler(); CopySelectedDisassembler();
} }
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.PageDown) else if (e.IsPressed(Keys.PageDown))
{ {
SmallIncrement(); SmallIncrement();
} }
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.PageUp) else if (e.IsPressed(Keys.PageUp))
{ {
SmallDecrement(); SmallDecrement();
} }

View File

@ -1350,15 +1350,15 @@ namespace BizHawk.Client.EmuHawk
private void LuaListView_KeyDown(object sender, KeyEventArgs e) private void LuaListView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) if (e.IsPressed(Keys.Delete))
{ {
RemoveScriptMenuItem_Click(null, null); RemoveScriptMenuItem_Click(null, null);
} }
else if (e.KeyCode == Keys.A && e.Control && !e.Alt && !e.Shift) // Select All else if (e.IsCtrl(Keys.A))
{ {
SelectAllMenuItem_Click(null, null); SelectAllMenuItem_Click(null, null);
} }
else if (e.KeyCode == Keys.F12 && !e.Control && !e.Alt && !e.Shift) // F12 else if (e.IsPressed(Keys.F12))
{ {
RegisteredFunctionsMenuItem_Click(null, null); RegisteredFunctionsMenuItem_Click(null, null);
} }
@ -1366,7 +1366,7 @@ namespace BizHawk.Client.EmuHawk
private void OutputBox_KeyDown(object sender, KeyEventArgs e) private void OutputBox_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.F12 && !e.Control && !e.Alt && !e.Shift) // F12 if (e.IsPressed(Keys.F12))
{ {
RegisteredFunctionsMenuItem_Click(null, null); RegisteredFunctionsMenuItem_Click(null, null);
} }

View File

@ -113,7 +113,7 @@ namespace BizHawk.Client.EmuHawk
private void FunctionView_KeyDown(object sender, KeyEventArgs e) private void FunctionView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) // Copy if (e.IsCtrl(Keys.C))
{ {
FunctionView_Copy(null, null); FunctionView_Copy(null, null);
} }

View File

@ -122,15 +122,15 @@ namespace BizHawk.Client.EmuHawk
private void FunctionView_KeyDown(object sender, KeyEventArgs e) private void FunctionView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) // Delete if (e.IsPressed(Keys.Delete))
{ {
RemoveFunctionButton(); RemoveFunctionButton();
} }
else if (e.KeyCode == Keys.Space && !e.Control && !e.Alt && !e.Shift) // Space else if (e.IsPressed(Keys.Space))
{ {
CallFunction(); CallFunction();
} }
else if (e.KeyCode == Keys.Enter && !e.Control && !e.Alt && !e.Shift) // Enter else if (e.IsPressed(Keys.Enter))
{ {
CallFunction(); CallFunction();
} }

View File

@ -1437,19 +1437,19 @@ namespace BizHawk.Client.EmuHawk
private void TasView_KeyDown(object sender, KeyEventArgs e) private void TasView_KeyDown(object sender, KeyEventArgs e)
{ {
// taseditor uses Ctrl for selection and Shift for frame cursor // taseditor uses Ctrl for selection and Shift for frame cursor
if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.PageUp) // Shift + Page Up if (e.IsShift(Keys.PageUp))
{ {
GoToPreviousMarker(); GoToPreviousMarker();
} }
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.PageDown) // Shift + Page Down else if (e.IsShift(Keys.PageDown))
{ {
GoToNextMarker(); GoToNextMarker();
} }
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Home) // Shift + Home else if (e.IsShift(Keys.Home))
{ {
GoToFrame(0); GoToFrame(0);
} }
else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.End) // Shift + End else if (e.IsShift(Keys.End))
{ {
GoToFrame(CurrentTasMovie.InputLogLength-1); GoToFrame(CurrentTasMovie.InputLogLength-1);
} }

View File

@ -1675,17 +1675,17 @@ namespace BizHawk.Client.EmuHawk
private void WatchListView_KeyDown(object sender, KeyEventArgs e) private void WatchListView_KeyDown(object sender, KeyEventArgs e)
{ {
switch (e.KeyCode) if (e.IsPressed(Keys.Delete))
{ {
case Keys.Delete when !e.Control && !e.Alt && !e.Shift: RemoveAddresses();
RemoveAddresses(); }
break; else if (e.IsCtrl(Keys.C))
case Keys.C when e.Control && !e.Alt && !e.Shift: {
CopyWatchesToClipBoard(); CopyWatchesToClipBoard();
break; }
case Keys.Escape when !e.Control && !e.Alt && !e.Shift: else if (e.IsPressed(Keys.Escape))
WatchListView.DeselectAll(); {
break; WatchListView.DeselectAll();
} }
} }

View File

@ -1191,19 +1191,19 @@ namespace BizHawk.Client.EmuHawk
private void WatchListView_KeyDown(object sender, KeyEventArgs e) private void WatchListView_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Delete && !e.Control && !e.Alt && !e.Shift) if (e.IsPressed(Keys.Delete))
{ {
RemoveWatchMenuItem_Click(sender, e); RemoveWatchMenuItem_Click(sender, e);
} }
else if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) // Ctrl+C else if (e.IsCtrl(Keys.C))
{ {
CopyWatchesToClipBoard(); CopyWatchesToClipBoard();
} }
else if (e.KeyCode == Keys.V && e.Control && !e.Alt && !e.Shift) // Ctrl+V else if (e.IsCtrl(Keys.V))
{ {
PasteWatchesToClipBoard(); PasteWatchesToClipBoard();
} }
else if (e.KeyCode == Keys.Enter && !e.Control && !e.Alt && !e.Shift) // Enter else if (e.IsPressed(Keys.Enter))
{ {
EditWatch(); EditWatch();
} }