diff --git a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
index 0e93bd8844..7e7cf6de3c 100644
--- a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
+++ b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
@@ -946,6 +946,11 @@ namespace BizHawk.Client.EmuHawk
 
 		public bool AnyRowsSelected => _selectedItems.Any(cell => cell.RowIndex.HasValue);
 
+		/// <summary>
+		/// Rows are selected and the selection is in focus.
+		/// </summary>
+		public bool SelectionFocused => AnyRowsSelected && Focused;
+
 		public IEnumerable<ToolStripItem> GenerateContextMenuItems()
 		{
 			if (Rotatable)
diff --git a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/RollColumn.cs b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/RollColumn.cs
index 31bb397b64..dc188e626d 100644
--- a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/RollColumn.cs
+++ b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/RollColumn.cs
@@ -8,7 +8,9 @@
 		public int Right { get; set; }
 		public string Name { get; set; }
 		public string Text { get; set; }
-		public ColumnType Type { get; set; }
+		
+		// Is this the default we want? ColumnType.Text is the most common.
+		public ColumnType Type { get; set; } = ColumnType.Boolean;
 		public bool Visible { get; set; } = true;
 
 		/// <summary>
diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/BookmarksBranchesBox.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/BookmarksBranchesBox.cs
index 3d62a7dcfc..1652606780 100644
--- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/BookmarksBranchesBox.cs
+++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/BookmarksBranchesBox.cs
@@ -76,19 +76,22 @@ namespace BizHawk.Client.EmuHawk
 				{
 					Name = BranchNumberColumnName,
 					Text = "#",
-					UnscaledWidth = 30
+					UnscaledWidth = 30,
+					Type = ColumnType.Text
 				},
 				new RollColumn
 				{
 					Name = FrameColumnName,
 					Text = "Frame",
-					UnscaledWidth = 64
+					UnscaledWidth = 64,
+					Type = ColumnType.Text
 				},
 				new RollColumn
 				{
 					Name = UserTextColumnName,
 					Text = "UserText",
-					UnscaledWidth = 90
+					UnscaledWidth = 90,
+					Type = ColumnType.Text
 				}
 			});
 		}
diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/MarkerControl.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/MarkerControl.cs
index e532605dd8..6881d0c796 100644
--- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/MarkerControl.cs
+++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/MarkerControl.cs
@@ -43,13 +43,15 @@ namespace BizHawk.Client.EmuHawk
 				{
 					Name = "FrameColumn",
 					Text = "Frame",
-					UnscaledWidth = 52
+					UnscaledWidth = 52,
+					Type = ColumnType.Text
 				},
 				new RollColumn
 				{
 					Name = "LabelColumn",
 					Text = "",
-					UnscaledWidth = 125
+					UnscaledWidth = 125,
+					Type = ColumnType.Text
 				}
 			});
 		}
diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs
index 2f34be0762..b15402ae0b 100644
--- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs
+++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs
@@ -205,7 +205,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void SaveSelectionToMacroMenuItem_Click(object sender, EventArgs e)
 		{
-			if (!TasView.AnyRowsSelected)
+			if (!TasView.SelectionFocused)
 			{
 				return;
 			}
@@ -230,7 +230,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void PlaceMacroAtSelectionMenuItem_Click(object sender, EventArgs e)
 		{
-			if (!TasView.AnyRowsSelected)
+			if (!TasView.SelectionFocused)
 			{
 				return;
 			}
@@ -392,7 +392,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void SelectBetweenMarkersMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var prevMarker = CurrentTasMovie.Markers.PreviousOrCurrent(TasView.LastSelectedIndex ?? 0);
 				var nextMarker = CurrentTasMovie.Markers.Next(TasView.LastSelectedIndex ?? 0);
@@ -424,7 +424,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void CopyMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				_tasClipboard.Clear();
 				var list = TasView.SelectedRows.ToArray();
@@ -450,7 +450,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void PasteMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				// TODO: if highlighting 2 rows and pasting 3, only paste 2 of them
 				// FCEUX Taseditor doesn't do this, but I think it is the expected behavior in editor programs
@@ -493,7 +493,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void PasteInsertMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				// copy paste from PasteMenuItem_Click!
 				IDataObject data = Clipboard.GetDataObject();
@@ -534,7 +534,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void CutMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
 				var rollBackFrame = TasView.FirstSelectedIndex ?? 0;
@@ -572,7 +572,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void ClearFramesMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var firstWithInput = FirstNonEmptySelectedFrame;
 				bool needsToRollback = firstWithInput.HasValue && firstWithInput < Emulator.Frame;
@@ -598,7 +598,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void DeleteFramesMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
 				var rollBackFrame = TasView.FirstSelectedIndex ?? 0;
@@ -640,7 +640,7 @@ namespace BizHawk.Client.EmuHawk
 		{
 			for (int i = 0; i < timesToClone; i++)
 			{
-				if (TasView.AnyRowsSelected)
+				if (TasView.SelectionFocused)
 				{
 					var framesToInsert = TasView.SelectedRows;
 					var insertionFrame = Math.Min((TasView.LastSelectedIndex ?? 0) + 1, CurrentTasMovie.InputLogLength);
@@ -665,7 +665,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void InsertFrameMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var insertionFrame = TasView.FirstSelectedIndex ?? 0;
 				var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
@@ -684,7 +684,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void InsertNumFramesMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				int insertionFrame = TasView.FirstSelectedIndex ?? 0;
 				using var framesPrompt = new FramesPrompt();
@@ -697,7 +697,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void TruncateMenuItem_Click(object sender, EventArgs e)
 		{
-			if (TasView.AnyRowsSelected)
+			if (TasView.SelectionFocused)
 			{
 				var rollbackFrame = TasView.LastSelectedIndex ?? 0;
 				var needsToRollback = TasView.FirstSelectedIndex < Emulator.Frame;
diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
index d8f6bcfde6..7caac936c1 100644
--- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
+++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
@@ -702,7 +702,7 @@ namespace BizHawk.Client.EmuHawk
 
 		private void DummyLoadMacro(string path)
 		{
-			if (!TasView.AnyRowsSelected)
+			if (!TasView.SelectionFocused)
 			{
 				return;
 			}