diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 869c7ea7e7..29356da817 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -489,6 +489,7 @@
+
diff --git a/OpenRA.Mods.RA/Widgets/LogicKeyListenerWidget.cs b/OpenRA.Mods.RA/Widgets/LogicKeyListenerWidget.cs
new file mode 100644
index 0000000000..5fca8c630d
--- /dev/null
+++ b/OpenRA.Mods.RA/Widgets/LogicKeyListenerWidget.cs
@@ -0,0 +1,25 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see COPYING.
+ */
+#endregion
+
+using System;
+using OpenRA.Widgets;
+
+namespace OpenRA.Mods.RA.Widgets
+{
+ public class LogicKeyListenerWidget : Widget
+ {
+ public Func OnKeyPress = _ => false;
+
+ public override bool HandleKeyPress(KeyInput e)
+ {
+ return OnKeyPress(e);
+ }
+ }
+}