2019-01-24 08:43:03 +00:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
2018-04-13 09:19:50 +00:00
2022-06-17 07:37:17 +00:00
#nullable disable
2017-08-09 08:10:32 +00:00
using System.Collections.Generic ;
2017-08-10 10:52:45 +00:00
using System.Linq ;
using osu.Framework.Graphics ;
2017-12-21 04:58:24 +00:00
using osu.Framework.Input ;
2017-08-11 07:11:46 +00:00
using osu.Framework.Input.Bindings ;
2021-09-16 08:02:04 +00:00
using osu.Framework.Localisation ;
using osu.Game.Localisation ;
2018-04-13 09:19:50 +00:00
2017-08-11 07:11:46 +00:00
namespace osu.Game.Input.Bindings
2017-08-09 08:10:32 +00:00
{
2019-08-27 09:42:49 +00:00
public class GlobalActionContainer : DatabasedKeyBindingContainer < GlobalAction > , IHandleGlobalKeyboardInput
2017-08-09 08:10:32 +00:00
{
2017-08-10 10:52:45 +00:00
private readonly Drawable handler ;
2021-04-08 06:17:53 +00:00
private InputManager parentInputManager ;
2018-04-13 09:19:50 +00:00
2018-01-30 05:54:30 +00:00
public GlobalActionContainer ( OsuGameBase game )
2020-03-02 09:54:00 +00:00
: base ( matchingMode : KeyCombinationMatchingMode . Modifiers )
2017-08-10 10:52:45 +00:00
{
2017-08-12 10:54:07 +00:00
if ( game is IKeyBindingHandler < GlobalAction > )
2017-08-10 10:52:45 +00:00
handler = game ;
}
2018-04-13 09:19:50 +00:00
2021-04-08 06:17:53 +00:00
protected override void LoadComplete ( )
{
base . LoadComplete ( ) ;
parentInputManager = GetContainingInputManager ( ) ;
}
2021-04-07 08:13:25 +00:00
public override IEnumerable < IKeyBinding > DefaultKeyBindings = > GlobalKeyBindings
2021-04-07 08:41:05 +00:00
. Concat ( EditorKeyBindings )
2021-04-07 08:13:25 +00:00
. Concat ( InGameKeyBindings )
. Concat ( SongSelectKeyBindings )
2021-04-07 08:41:05 +00:00
. Concat ( AudioControlKeyBindings ) ;
2018-04-13 09:19:50 +00:00
2018-01-08 17:21:18 +00:00
public IEnumerable < KeyBinding > GlobalKeyBindings = > new [ ]
2017-08-09 08:10:32 +00:00
{
2020-01-11 19:43:51 +00:00
new KeyBinding ( InputKey . F6 , GlobalAction . ToggleNowPlaying ) ,
2017-08-18 09:22:00 +00:00
new KeyBinding ( InputKey . F8 , GlobalAction . ToggleChat ) ,
new KeyBinding ( InputKey . F9 , GlobalAction . ToggleSocial ) ,
2018-05-02 10:42:03 +00:00
new KeyBinding ( InputKey . F10 , GlobalAction . ToggleGameplayMouseButtons ) ,
2018-05-14 17:27:05 +00:00
new KeyBinding ( InputKey . F12 , GlobalAction . TakeScreenshot ) ,
2022-07-20 12:05:20 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Shift , InputKey . F } , GlobalAction . ToggleFPSDisplay ) ,
2018-04-13 09:19:50 +00:00
2017-08-18 09:22:00 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Alt , InputKey . R } , GlobalAction . ResetInputSettings ) ,
new KeyBinding ( new [ ] { InputKey . Control , InputKey . T } , GlobalAction . ToggleToolbar ) ,
new KeyBinding ( new [ ] { InputKey . Control , InputKey . O } , GlobalAction . ToggleSettings ) ,
2021-01-06 14:12:56 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . D } , GlobalAction . ToggleBeatmapListing ) ,
2020-07-10 19:05:23 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . N } , GlobalAction . ToggleNotifications ) ,
2021-05-13 04:34:03 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Shift , InputKey . S } , GlobalAction . ToggleSkinEditor ) ,
2018-05-14 17:27:05 +00:00
new KeyBinding ( InputKey . Escape , GlobalAction . Back ) ,
2019-07-11 13:21:37 +00:00
new KeyBinding ( InputKey . ExtraMouseButton1 , GlobalAction . Back ) ,
2018-07-03 09:37:21 +00:00
2020-06-14 18:22:38 +00:00
new KeyBinding ( new [ ] { InputKey . Alt , InputKey . Home } , GlobalAction . Home ) ,
2020-03-02 09:55:28 +00:00
new KeyBinding ( InputKey . Up , GlobalAction . SelectPrevious ) ,
new KeyBinding ( InputKey . Down , GlobalAction . SelectNext ) ,
2022-05-04 13:46:23 +00:00
new KeyBinding ( InputKey . Left , GlobalAction . SelectPreviousGroup ) ,
new KeyBinding ( InputKey . Right , GlobalAction . SelectNextGroup ) ,
2018-07-03 09:37:21 +00:00
new KeyBinding ( InputKey . Space , GlobalAction . Select ) ,
new KeyBinding ( InputKey . Enter , GlobalAction . Select ) ,
2018-11-13 17:09:28 +00:00
new KeyBinding ( InputKey . KeypadEnter , GlobalAction . Select ) ,
2020-11-11 04:05:03 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Shift , InputKey . R } , GlobalAction . RandomSkin ) ,
2017-08-09 08:10:32 +00:00
} ;
2018-04-13 09:19:50 +00:00
2020-09-22 06:55:25 +00:00
public IEnumerable < KeyBinding > EditorKeyBindings = > new [ ]
{
new KeyBinding ( new [ ] { InputKey . F1 } , GlobalAction . EditorComposeMode ) ,
new KeyBinding ( new [ ] { InputKey . F2 } , GlobalAction . EditorDesignMode ) ,
new KeyBinding ( new [ ] { InputKey . F3 } , GlobalAction . EditorTimingMode ) ,
new KeyBinding ( new [ ] { InputKey . F4 } , GlobalAction . EditorSetupMode ) ,
2021-04-12 07:15:27 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Shift , InputKey . A } , GlobalAction . EditorVerifyMode ) ,
2021-04-22 09:47:04 +00:00
new KeyBinding ( new [ ] { InputKey . J } , GlobalAction . EditorNudgeLeft ) ,
new KeyBinding ( new [ ] { InputKey . K } , GlobalAction . EditorNudgeRight ) ,
2021-09-20 07:43:15 +00:00
new KeyBinding ( new [ ] { InputKey . G } , GlobalAction . EditorCycleGridDisplayMode ) ,
2021-11-12 05:13:11 +00:00
new KeyBinding ( new [ ] { InputKey . F5 } , GlobalAction . EditorTestGameplay ) ,
2022-06-02 03:27:11 +00:00
new KeyBinding ( new [ ] { InputKey . T } , GlobalAction . EditorTapForBPM ) ,
2022-01-05 07:46:34 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . H } , GlobalAction . EditorFlipHorizontally ) ,
new KeyBinding ( new [ ] { InputKey . Control , InputKey . J } , GlobalAction . EditorFlipVertically ) ,
2022-05-04 06:00:54 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Alt , InputKey . MouseWheelDown } , GlobalAction . EditorDecreaseDistanceSpacing ) ,
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Alt , InputKey . MouseWheelUp } , GlobalAction . EditorIncreaseDistanceSpacing ) ,
2020-09-22 06:55:25 +00:00
} ;
2018-01-08 17:21:18 +00:00
public IEnumerable < KeyBinding > InGameKeyBindings = > new [ ]
{
2018-01-23 04:05:07 +00:00
new KeyBinding ( InputKey . Space , GlobalAction . SkipCutscene ) ,
2020-08-18 06:21:44 +00:00
new KeyBinding ( InputKey . ExtraMouseButton2 , GlobalAction . SkipCutscene ) ,
2018-05-31 03:06:50 +00:00
new KeyBinding ( InputKey . Tilde , GlobalAction . QuickRetry ) ,
2019-06-24 09:19:17 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . Tilde } , GlobalAction . QuickExit ) ,
2021-10-29 02:13:06 +00:00
new KeyBinding ( new [ ] { InputKey . F3 } , GlobalAction . DecreaseScrollSpeed ) ,
new KeyBinding ( new [ ] { InputKey . F4 } , GlobalAction . IncreaseScrollSpeed ) ,
2020-12-01 02:38:16 +00:00
new KeyBinding ( new [ ] { InputKey . Shift , InputKey . Tab } , GlobalAction . ToggleInGameInterface ) ,
2020-07-12 14:03:03 +00:00
new KeyBinding ( InputKey . MouseMiddle , GlobalAction . PauseGameplay ) ,
2020-11-26 11:04:44 +00:00
new KeyBinding ( InputKey . Space , GlobalAction . TogglePauseReplay ) ,
2021-07-09 05:28:57 +00:00
new KeyBinding ( InputKey . Left , GlobalAction . SeekReplayBackward ) ,
new KeyBinding ( InputKey . Right , GlobalAction . SeekReplayForward ) ,
2020-10-30 05:19:40 +00:00
new KeyBinding ( InputKey . Control , GlobalAction . HoldForHUD ) ,
2021-08-19 05:19:59 +00:00
new KeyBinding ( InputKey . Tab , GlobalAction . ToggleChatFocus ) ,
2018-01-08 17:21:18 +00:00
} ;
2018-04-13 09:19:50 +00:00
2020-06-03 05:55:15 +00:00
public IEnumerable < KeyBinding > SongSelectKeyBindings = > new [ ]
{
2020-06-03 06:13:02 +00:00
new KeyBinding ( InputKey . F1 , GlobalAction . ToggleModSelection ) ,
new KeyBinding ( InputKey . F2 , GlobalAction . SelectNextRandom ) ,
new KeyBinding ( new [ ] { InputKey . Shift , InputKey . F2 } , GlobalAction . SelectPreviousRandom ) ,
2022-05-04 00:52:10 +00:00
new KeyBinding ( InputKey . F3 , GlobalAction . ToggleBeatmapOptions ) ,
2022-05-14 17:39:54 +00:00
new KeyBinding ( InputKey . BackSpace , GlobalAction . DeselectAllMods ) ,
2020-06-03 05:55:15 +00:00
} ;
2019-08-13 03:40:20 +00:00
public IEnumerable < KeyBinding > AudioControlKeyBindings = > new [ ]
{
2020-03-02 09:59:05 +00:00
new KeyBinding ( new [ ] { InputKey . Alt , InputKey . Up } , GlobalAction . IncreaseVolume ) ,
new KeyBinding ( new [ ] { InputKey . Alt , InputKey . Down } , GlobalAction . DecreaseVolume ) ,
2021-07-04 12:47:07 +00:00
new KeyBinding ( new [ ] { InputKey . Alt , InputKey . Left } , GlobalAction . PreviousVolumeMeter ) ,
new KeyBinding ( new [ ] { InputKey . Alt , InputKey . Right } , GlobalAction . NextVolumeMeter ) ,
2020-09-23 03:31:50 +00:00
new KeyBinding ( new [ ] { InputKey . Control , InputKey . F4 } , GlobalAction . ToggleMute ) ,
2019-08-13 03:40:20 +00:00
new KeyBinding ( InputKey . TrackPrevious , GlobalAction . MusicPrev ) ,
new KeyBinding ( InputKey . F1 , GlobalAction . MusicPrev ) ,
new KeyBinding ( InputKey . TrackNext , GlobalAction . MusicNext ) ,
new KeyBinding ( InputKey . F5 , GlobalAction . MusicNext ) ,
new KeyBinding ( InputKey . PlayPause , GlobalAction . MusicPlay ) ,
new KeyBinding ( InputKey . F3 , GlobalAction . MusicPlay )
} ;
2021-04-05 13:30:51 +00:00
protected override IEnumerable < Drawable > KeyBindingInputQueue
{
get
{
2021-04-08 06:17:53 +00:00
// To ensure the global actions are handled with priority, this GlobalActionContainer is actually placed after game content.
// It does not contain children as expected, so we need to forward the NonPositionalInputQueue from the parent input manager to correctly
// allow the whole game to handle these actions.
// An eventual solution to this hack is to create localised action containers for individual components like SongSelect, but this will take some rearranging.
var inputQueue = parentInputManager ? . NonPositionalInputQueue ? ? base . KeyBindingInputQueue ;
2021-03-30 10:03:15 +00:00
2021-04-05 13:30:51 +00:00
return handler ! = null ? inputQueue . Prepend ( handler ) : inputQueue ;
}
}
2017-08-10 10:52:45 +00:00
}
2018-04-13 09:19:50 +00:00
2017-08-10 10:52:45 +00:00
public enum GlobalAction
{
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleChat))]
2017-08-10 10:52:45 +00:00
ToggleChat ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleSocial))]
2017-08-10 10:52:45 +00:00
ToggleSocial ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ResetInputSettings))]
2017-08-10 10:52:45 +00:00
ResetInputSettings ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleToolbar))]
2017-08-10 10:52:45 +00:00
ToggleToolbar ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleSettings))]
2017-08-10 10:52:45 +00:00
ToggleSettings ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleBeatmapListing))]
2021-01-06 14:12:56 +00:00
ToggleBeatmapListing ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.IncreaseVolume))]
2017-08-22 05:44:13 +00:00
IncreaseVolume ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.DecreaseVolume))]
2017-08-22 05:44:13 +00:00
DecreaseVolume ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleMute))]
2018-01-16 16:46:54 +00:00
ToggleMute ,
2018-04-13 09:19:50 +00:00
2018-01-08 17:21:18 +00:00
// In-Game Keybindings
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SkipCutscene))]
2018-01-23 04:05:07 +00:00
SkipCutscene ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.QuickRetry))]
2018-01-23 04:05:07 +00:00
QuickRetry ,
2018-04-13 09:19:50 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.TakeScreenshot))]
2018-05-14 17:27:05 +00:00
TakeScreenshot ,
2019-02-28 04:31:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleGameplayMouseButtons))]
2018-05-02 10:42:03 +00:00
ToggleGameplayMouseButtons ,
2018-05-14 17:27:05 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.Back))]
2018-05-31 03:06:50 +00:00
Back ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.IncreaseScrollSpeed))]
2018-05-31 03:06:50 +00:00
IncreaseScrollSpeed ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.DecreaseScrollSpeed))]
2018-05-31 03:06:50 +00:00
DecreaseScrollSpeed ,
2018-07-03 09:37:21 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.Select))]
2018-07-03 09:37:21 +00:00
Select ,
2019-06-25 08:16:19 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.QuickExit))]
2019-06-25 08:16:19 +00:00
QuickExit ,
2019-08-11 17:14:49 +00:00
2020-09-22 06:55:25 +00:00
// Game-wide beatmap music controller keybindings
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.MusicNext))]
2019-08-11 17:14:49 +00:00
MusicNext ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.MusicPrev))]
2019-08-11 17:14:49 +00:00
MusicPrev ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.MusicPlay))]
2019-08-11 17:14:49 +00:00
MusicPlay ,
2020-01-11 19:43:51 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleNowPlaying))]
2020-01-11 19:43:51 +00:00
ToggleNowPlaying ,
2020-03-02 09:55:28 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectPrevious))]
2020-03-02 09:55:28 +00:00
SelectPrevious ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectNext))]
2020-03-02 09:55:28 +00:00
SelectNext ,
2020-06-14 18:22:38 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.Home))]
2020-06-14 18:22:38 +00:00
Home ,
2020-07-12 14:03:03 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleNotifications))]
2020-07-13 22:39:02 +00:00
ToggleNotifications ,
2020-07-14 11:37:21 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.PauseGameplay))]
2020-07-12 14:03:03 +00:00
PauseGameplay ,
2020-09-22 06:55:25 +00:00
// Editor
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorSetupMode))]
2020-09-22 06:55:25 +00:00
EditorSetupMode ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorComposeMode))]
2020-09-22 06:55:25 +00:00
EditorComposeMode ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorDesignMode))]
2020-09-22 06:55:25 +00:00
EditorDesignMode ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorTimingMode))]
2020-09-22 06:55:25 +00:00
EditorTimingMode ,
2020-10-30 05:19:40 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.HoldForHUD))]
2020-10-30 05:19:40 +00:00
HoldForHUD ,
2020-11-11 04:05:03 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.RandomSkin))]
2020-11-11 04:05:03 +00:00
RandomSkin ,
2020-11-24 06:41:56 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.TogglePauseReplay))]
2020-11-26 11:04:44 +00:00
TogglePauseReplay ,
2020-12-01 02:38:16 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleInGameInterface))]
2020-12-01 02:38:16 +00:00
ToggleInGameInterface ,
2021-04-07 08:13:25 +00:00
2020-06-07 03:37:19 +00:00
// Song select keybindings
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleModSelection))]
2020-06-07 03:37:19 +00:00
ToggleModSelection ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectNextRandom))]
2020-06-07 03:37:19 +00:00
SelectNextRandom ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectPreviousRandom))]
2020-06-07 03:37:19 +00:00
SelectPreviousRandom ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleBeatmapOptions))]
2020-06-07 03:37:19 +00:00
ToggleBeatmapOptions ,
2021-04-12 07:15:27 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorVerifyMode))]
2021-04-12 07:15:27 +00:00
EditorVerifyMode ,
2021-04-22 09:47:04 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorNudgeLeft))]
2021-04-22 09:47:04 +00:00
EditorNudgeLeft ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorNudgeRight))]
2021-04-29 08:20:22 +00:00
EditorNudgeRight ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleSkinEditor))]
2021-04-29 08:20:22 +00:00
ToggleSkinEditor ,
2021-07-04 12:47:07 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.PreviousVolumeMeter))]
2021-07-04 12:47:07 +00:00
PreviousVolumeMeter ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.NextVolumeMeter))]
2021-07-04 12:47:07 +00:00
NextVolumeMeter ,
2021-07-09 05:28:57 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SeekReplayForward))]
2021-07-09 05:28:57 +00:00
SeekReplayForward ,
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SeekReplayBackward))]
2021-07-09 05:28:57 +00:00
SeekReplayBackward ,
2021-08-17 06:05:36 +00:00
2021-09-16 08:02:04 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleChatFocus))]
2021-09-20 07:43:15 +00:00
ToggleChatFocus ,
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorCycleGridDisplayMode))]
2021-11-12 05:13:11 +00:00
EditorCycleGridDisplayMode ,
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorTestGameplay))]
2022-01-05 07:46:34 +00:00
EditorTestGameplay ,
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorFlipHorizontally))]
EditorFlipHorizontally ,
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorFlipVertically))]
EditorFlipVertically ,
2022-05-04 00:52:10 +00:00
2022-05-04 06:00:54 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorIncreaseDistanceSpacing))]
EditorIncreaseDistanceSpacing ,
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorDecreaseDistanceSpacing))]
EditorDecreaseDistanceSpacing ,
2022-05-04 13:48:49 +00:00
2022-05-04 13:46:23 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectPreviousGroup))]
SelectPreviousGroup ,
2022-05-04 00:52:10 +00:00
2022-05-04 13:46:23 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.SelectNextGroup))]
SelectNextGroup ,
2022-05-14 17:39:54 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.DeselectAllMods))]
DeselectAllMods ,
2022-06-02 03:27:11 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.EditorTapForBPM))]
EditorTapForBPM ,
2022-07-20 12:05:20 +00:00
[LocalisableDescription(typeof(GlobalActionKeyBindingStrings), nameof(GlobalActionKeyBindingStrings.ToggleFPSCounter))]
ToggleFPSDisplay ,
2017-08-09 08:10:32 +00:00
}
}