diff --git a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
index cb7c083d87..0fcf84ec8e 100644
--- a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
@@ -16,6 +16,7 @@ using osu.Framework.Input;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events;
using osu.Game.Graphics.UserInterface;
+using osu.Game.Input.Bindings;
using osu.Game.Rulesets.Edit;
using osuTK;
using osuTK.Input;
@@ -26,7 +27,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// A container which provides a "blueprint" display of items.
/// Includes selection and manipulation support via a .
///
- public abstract partial class BlueprintContainer : CompositeDrawable, IKeyBindingHandler
+ public abstract partial class BlueprintContainer : CompositeDrawable, IKeyBindingHandler, IKeyBindingHandler
where T : class
{
protected DragBox DragBox { get; private set; }
@@ -279,6 +280,30 @@ namespace osu.Game.Screens.Edit.Compose.Components
{
}
+ public bool OnPressed(KeyBindingPressEvent e)
+ {
+ if (e.Repeat)
+ return false;
+
+ switch (e.Action)
+ {
+ case GlobalAction.Back:
+ if (SelectedItems.Count > 0)
+ {
+ DeselectAll();
+ return true;
+ }
+
+ break;
+ }
+
+ return false;
+ }
+
+ public void OnReleased(KeyBindingReleaseEvent e)
+ {
+ }
+
#region Blueprint Addition/Removal
protected virtual void AddBlueprintFor(T item)