diff --git a/BizHawk.Client.EmuHawk/CustomControls/InputRoll.cs b/BizHawk.Client.EmuHawk/CustomControls/InputRoll.cs index f0589ec1aa..e596621cfc 100644 --- a/BizHawk.Client.EmuHawk/CustomControls/InputRoll.cs +++ b/BizHawk.Client.EmuHawk/CustomControls/InputRoll.cs @@ -44,6 +44,7 @@ namespace BizHawk.Client.EmuHawk public bool denoteMarkersWithIcons { get; set; } public bool denoteMarkersWithBGColor { get; set; } public bool allowRightClickSelecton { get; set; } + public bool letKeysModifySelection { get; set; } private IntPtr RotatedFont; private readonly Font NormalFont; @@ -1294,6 +1295,58 @@ namespace BizHawk.Client.EmuHawk LastVisibleRow = RowCount; Refresh(); } + else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Ctrl + Up + { + if (SelectedRows.Any() && letKeysModifySelection) + { + foreach (var row in SelectedRows.ToList()) + { + SelectRow(row - 1, true); + SelectRow(row, false); + } + } + } + else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Ctrl + Down + { + if (SelectedRows.Any() && letKeysModifySelection) + { + foreach (var row in SelectedRows.Reverse().ToList()) + { + SelectRow(row + 1, true); + SelectRow(row, false); + } + } + } + else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Shift + Up + { + if (SelectedRows.Any() && letKeysModifySelection) + { + SelectRow(SelectedRows.First() - 1, true); + } + } + else if (!e.Control && e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Shift + Down + { + if (SelectedRows.Any() && letKeysModifySelection) + { + SelectRow(SelectedRows.Last() + 1, true); + } + } + else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Up + { + if (FirstVisibleRow > 0) + { + FirstVisibleRow--; + Refresh(); + } + } + else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Down + { + if (FirstVisibleRow < RowCount - 1) + { + FirstVisibleRow++; + Refresh(); + } + } base.OnKeyDown(e); } diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs index 55f2fd1d46..53c434725a 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs @@ -1126,6 +1126,7 @@ namespace BizHawk.Client.EmuHawk this.TasView.denoteStatesWithBGColor = false; this.TasView.denoteStatesWithIcons = false; this.TasView.allowRightClickSelecton = false; + this.TasView.letKeysModifySelection = true; this.TasView.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.TasView.FullRowSelect = true; this.TasView.HideWasLagFrames = false; diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs index 1a983c21cd..b15ad1a9d0 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs @@ -855,22 +855,10 @@ namespace BizHawk.Client.EmuHawk { GoToPreviousMarker(); } - else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Right) // Ctrl + Left + else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Right) // Ctrl + Right { GoToNextMarker(); } - else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Ctrl + Up - { - GoToPreviousFrame(); - } - else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Ctrl + Down - { - GoToNextFrame(); - } - else if (e.Control && !e.Alt && e.Shift && e.KeyCode == Keys.R) // Ctrl + Shift + R - { - TasView.HorizontalOrientation ^= true; - } // SuuperW: Float Editing if (_floatEditRow != -1)