1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 04:13:00 +08:00
Commit Graph

392 Commits

Author SHA1 Message Date
Dean Herbert
70cc03fe43 Avoid constructor overhead for realm RealmKeyBinding parameterless constructor 2022-01-20 17:29:07 +09:00
Dean Herbert
3bc091fe6d Add ignore rules on more helper properties 2022-01-19 09:46:45 +09:00
Dean Herbert
2984f2f6c4 Fix custom keybindings not working due to incorrect use of IsManaged flag 2022-01-15 01:22:48 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
Dean Herbert
8d927920cb Add comment explainng why to block idle updates when host is not active 2021-12-27 13:31:07 +09:00
Dean Herbert
e448c28cad Change IdleHandler to not consider mouse movement as active unless focused 2021-12-26 16:26:33 +09:00
Dean Herbert
7318ff3f98 Refactor KeyBindingStore to clean up any excess bindings for individual actions
While this isn't strictly required (outside of rulesets, potentially),
I think it's best that we keep these counts in a sane state.

Right now, it will remove any excess. Arguably, in the case an entry is
found with too many, we should wipe all entries and re-populate the
defaults. Interested in opinions on that before merging. See
https://github.com/ppy/osu/discussions/15925 for an example where wiping
may be the more appropriate behaviour.
2021-12-13 15:26:51 +09:00
Dean Herbert
4306420922 Add extension methods to add extra safety to realm subscriptions
Also adjusts the naming and documentation to make it (hopefully) easier
to understand what this method/process implies.
2021-12-01 15:09:53 +09:00
Dean Herbert
d94b27a8a2 Switch realm ruleset key bindings to use ruleset's ShortName as key 2021-11-22 18:52:30 +09:00
Dean Herbert
e891c0ce53 Add keyboard shortcut to start test mode in editor 2021-11-12 14:13:11 +09:00
Dean Herbert
f5842e7587 Shorten variable names 2021-11-08 18:24:37 +09:00
Susko3
c3069ad002 Change to use ReadableKeyCombinationProvider
Changes all usages of `KeyCombination.ReadableString()` to
`ReadableKeyCombinationProvider.GetReadableString()`.

Subscribing to `KeymapChanged` is only required in `KeyButton`.
All other places query `GetReadableString()` every time.
2021-11-08 06:55:26 +01:00
Dean Herbert
ce29d6fd81 Change scroll speed adjust defaults to F3/F4
Not the most obvious keys, but does match stable expectations so let's
go with it for now.

Rationale for not using +/- is that local audio offset was bound to
those, and people will expect it to be when we get to implementing
eventually.

Also, adjust the scroll speed is a pretty rare thing to do since it's
been constant across beatmaps for years now.
2021-10-29 11:13:07 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
9fa901f6aa Refine RealmContext implementation API 2021-09-30 23:56:38 +09:00
Dean Herbert
cdef6d0cf5 Add key binding support for grid mode cycle 2021-09-20 16:43:15 +09:00
Dean Herbert
fde7c88999
Merge branch 'master' into update-framework 2021-09-16 22:49:02 +09:00
kj415j45
a18fed0da4
Remove unused using 2021-09-16 17:38:33 +08:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
kj415j45
e323f10cd5
Remove unused [Description] 2021-09-16 17:10:29 +08:00
kj415j45
51997fa533
Add localisation for GlobalActions 2021-09-16 16:02:04 +08:00
Dean Herbert
5bb741b4e8 Remove migration of key bindings 2021-09-15 17:04:38 +09:00
Dean Herbert
5b13b566b5 Reduce startup overhead during default key binding handling 2021-09-07 15:19:23 +09:00
Dean Herbert
f4199958d9 Avoid unnecessary array/LINQ operations when replay frames have no action changes 2021-08-26 13:03:50 +09:00
Dean Herbert
6d00ea3375 Allow toggling focus via binding 2021-08-19 14:19:59 +09:00
Dean Herbert
124f149cb5 Add key binding to focus chat input 2021-08-17 16:17:31 +09:00
Dean Herbert
82eddeffef Add LocalUserPlayInfo interface to convey common information about player status 2021-08-17 16:15:47 +09:00
Dean Herbert
6a5f0e8237 Move handling of replay seek operations out of progress bar
This is in order to avoid using the now obsoleted property
`SliderBar.AllowKeyboardInputWhenNotHovered`
(see https://github.com/ppy/osu-framework/pull/4579).
2021-07-09 14:28:59 +09:00
Derrick Timmermans
d1553f0864
Implement ability to switch between volume meters 2021-07-04 14:47:07 +02:00
Dean Herbert
36b5414b1d Update comment to hopefully explain a weird conditional better 2021-06-18 17:46:01 +09:00
Dean Herbert
d5a1524eb0 Add missing rulesetID check for global action matching 2021-06-18 17:12:01 +09:00
Dean Herbert
d06e52505a Fix thread safety of KeyBindingStore.GetReadableKeyCombinationsFor 2021-06-18 17:11:39 +09:00
Dean Herbert
9044a20120 Merge branch 'master' into realm-key-binding-store 2021-06-10 13:58:08 +09:00
Dean Herbert
fe6b1936cb Move OsuUserInputManager out from nested class 2021-05-28 02:46:03 +09:00
Dean Herbert
a249bb9e69 Merge branch 'master' into realm-key-binding-store 2021-05-25 17:18:33 +09:00
Dean Herbert
df703b68ec Merge branch 'master' into realm-key-binding-store 2021-05-25 13:41:48 +09:00
Dean Herbert
a00f226ab3 Add assert on storing to database 2021-05-24 18:41:39 +09:00
Dean Herbert
deabce7140 Disallow updating the database to an invalid value 2021-05-24 18:40:56 +09:00
Dean Herbert
57640810b5 Ignore certain banned InputKeys for gameplay purposes 2021-05-24 18:40:40 +09:00
Dean Herbert
7961dba1d3 Reorder OrderBy for legibility 2021-05-24 17:22:55 +09:00
Dean Herbert
23e284b8b3 Change default skin editor shortcut to Ctrl+Shift+S
Avoids a conflict with song select's random rewind functionality. As
mentioned in #12776.
2021-05-13 13:34:04 +09:00
Joseph Madamba
4bee8c23f0 Fix idle tracker not accounting global actions 2021-05-10 21:40:29 -07:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +09:00
Dean Herbert
253c66034d Remove unused using statement 2021-04-26 17:45:43 +09:00
Dean Herbert
8961203f08 Move guid initialisation to database model itself 2021-04-26 17:06:03 +09:00
Dean Herbert
c0b1c2f39b
Merge branch 'master' into realm-key-binding-store 2021-04-24 02:40:15 +09:00
Dean Herbert
6dd48f204c Remove unused store resolution 2021-04-24 02:05:53 +09:00
Dean Herbert
f9603eefe5 Revert "Switch Guid implementation temporarily to avoid compile time error"
This reverts commit 4d976094d1.
2021-04-24 01:59:55 +09:00
Dean Herbert
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
Dean Herbert
78f274d51a Merge branch 'master' into realm-key-binding-store 2021-04-22 12:13:23 +09:00
Bartłomiej Dach
250c7403e8 Fix idle tracker assuming time starts at 0
`IdleTracker` in its construction quietly assumed that the clock it
receives from its parent starts ticking from 0 at the point at which it
is passed down. This is not necessarily the case when headless
executions are involved, which means that the initial state of the
tracker could be computed as idle incorrectly.

Resolve by explicitly reading the clock time at the point of
`LoadComplete()`.
2021-04-17 13:50:00 +02:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Dean Herbert
2c1f20a38f Merge branch 'master' into fix-editor-alt-scroll 2021-04-13 19:36:25 +09:00
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
Dean Herbert
42604afcdc Add binding for verify mode (and move enum entry to end) 2021-04-12 16:15:27 +09:00
Dean Herbert
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
Dean Herbert
995c244cee Remove alt-mousewheel bindings for volume adjustment
With the recent changes to the order of processing key bindings
(`GlobalAction`s are handled first), having the alt-wheel bindings in here causes a
regression as they are handled before `OnScroll` events.

Specifically, this means editor alt-scroll functionality no longer works
with the default bindings.

Removing the bindings fixes this, while also still allowing alt-wheel
adjustment of the volume via `VolumeControlReceptor`:

a2f50af424/osu.Game/Overlays/Volume/VolumeControlReceptor.cs (L21-L26)

In conjunction with the special case in `OsuScrollContainer`:

02d5b1352b/osu.Game/Graphics/Containers/OsuScrollContainer.cs (L103-L105)
2021-04-12 14:00:32 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Dean Herbert
08858e6426 Reorder defaults to give non-global areas priority for global actions 2021-04-07 17:42:49 +09:00
Dean Herbert
afc745f999 Merge branch 'master' into rebind-song-select 2021-04-07 17:13:25 +09:00
Dean Herbert
f08b340e81 Add nullability hinting 2021-04-06 16:49:26 +09:00
Dean Herbert
beebdb0734 Clean up implementation 2021-04-05 22:30:51 +09:00
Dean Herbert
05961e98d5 Ensure GlobalActions are handled before anything else game-wide 2021-03-30 19:03:15 +09:00
Dean Herbert
491e583819 Merge branch 'master' into realm-migration-operation-blocking 2021-03-30 13:25:40 +09:00
Dean Herbert
36364a4492 Update framework 2021-03-29 22:17:17 +09:00
Naxess
d58ef5310b Add verify tab
Currently empty, but works.
2021-03-28 17:36:22 +02:00
Dean Herbert
4d976094d1 Switch Guid implementation temporarily to avoid compile time error 2021-03-26 20:07:53 +09:00
Dean Herbert
68f2e7f61a Use realm support for Guid 2021-01-19 18:22:36 +09:00
Bartłomiej Dach
0f8f0434f9 Remove EF store again after mis-merge
Was originally deleted in 536e7229d0.
2021-01-16 17:03:58 +01:00
Bartłomiej Dach
7296a6dd84 Merge branch 'master' into realm-key-binding-store 2021-01-16 16:48:54 +01:00
Dean Herbert
86f66727de Update KeyBinding usages in line with interface changes 2021-01-15 14:57:01 +09:00
Dean Herbert
f26c6210f3 Remove unnecessary Take() call and refactor default group logic naming 2021-01-14 16:36:24 +09:00
Dean Herbert
8a08d3f4ef Fix transactions not actually being committed 2021-01-14 16:13:10 +09:00
Dean Herbert
5fa3a22f28 Remove unused RealmBackedStore base class 2021-01-13 18:36:37 +09:00
Dean Herbert
fcb4a53f37 Rename realm persisted properties to avoid casting necessity 2021-01-13 18:36:37 +09:00
Dean Herbert
9086d75542 Update write usages 2021-01-13 18:36:37 +09:00
Dean Herbert
9d744d629f Update existing usages to use the main realm context where applicable 2021-01-13 18:36:37 +09:00
Dean Herbert
78707c3b06 Remove unused event 2021-01-13 18:36:37 +09:00
Dean Herbert
192e58e0c6 Update all read queries to use direct realm subscriptions/queries 2021-01-13 18:36:37 +09:00
Dean Herbert
765d9cfae1 Use direct access for query pattern 2021-01-12 17:01:40 +09:00
Dean Herbert
a6997a6fc6 Move ruleset key binding registration to an explicit method rather than the constructor 2021-01-12 15:21:02 +09:00
Dean Herbert
ff16d2f490 Mark classes nullable 2021-01-12 15:21:02 +09:00
Dean Herbert
8f9b19a76e Detach at point of usage, rather than point of retrieval 2021-01-12 14:45:36 +09:00
Dean Herbert
536e7229d0 Remove unused EF class and unnecessary interface 2021-01-12 14:45:36 +09:00
Dean Herbert
406e640fa9 Make key binding update method support all kinds of realm object states 2021-01-12 14:45:36 +09:00
Dean Herbert
6fd098ca7c Add full xmldoc to RealmKeyBindingStore 2021-01-11 16:31:36 +09:00
Dean Herbert
56d34432f9 Move public members up 2021-01-11 16:31:36 +09:00
Dean Herbert
a1cb6d8c54 Remove unnecesssary local conversion method 2021-01-11 16:31:36 +09:00
Dean Herbert
8765aaf9e6 Use IKeyBinding for all key binding usages (and add update flow via primary key) 2021-01-11 16:31:35 +09:00
Dean Herbert
a77519c6bd Store KeyBinding action to its own field in realm
Also improve the Query method for action types by using generic field
2021-01-11 15:52:49 +09:00
Dean Herbert
43f417b53a Add and consume IKeyBindingStore interface 2021-01-11 15:52:49 +09:00
Dean Herbert
391259c713 Add missing implementation details to realm keybinding store 2021-01-11 15:52:49 +09:00
Dean Herbert
ee6a26bd6e Initialise new key bindings with a primary key 2021-01-11 15:52:49 +09:00
Dean Herbert
845d5cdea2 Switch guid to store as string until fody issues are resolved
See
https://github.com/realm/realm-dotnet/issues/740#issuecomment-755898968
2021-01-11 15:52:49 +09:00
Dean Herbert
d5ac97ece8 Add realm store / key binding implementations 2021-01-11 15:52:49 +09:00
Dean Herbert
283c69a68f Update enum name in line with changes 2021-01-06 23:12:56 +09:00
Dean Herbert
32accc8eab Remove "osu!direct" button 2021-01-06 22:56:10 +09:00
Dean Herbert
7c0edb796e Always confine mouse to screen when running fullscreen 2020-12-04 20:49:18 +09:00
Joehu
b8c284b34f Fix one more key binding string not being sentence cased 2020-12-04 00:51:46 -08:00
Ryan Zmuda
e102f2e8fa Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification 2020-11-30 21:38:16 -05:00
Ryan Zmuda
3994cf082d add keybind for in game overlay 2020-11-29 20:59:02 -05:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support 2020-11-27 00:09:40 +09:00
Dean Herbert
1e79cb498b Standardise binding description case to sentence casing 2020-11-26 20:07:16 +09:00
Dean Herbert
3346c06aca Rename variable/text to be more verbose as to toggle purpose 2020-11-26 20:04:44 +09:00
Dean Herbert
72b8eef36e Add ability to pause/resume replay playback 2020-11-24 15:41:56 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
6014751e29 Add the ability for the game OSD to display user bindings
Adds binding display for mouse button toggle / HUD toggle keys.

- [ ] Depends on #10786 for ease-of-merge
2020-11-11 12:56:10 +09:00
Dean Herbert
8928aa6d92 Add key binding to show HUD while held 2020-10-30 14:19:40 +09:00
Shane Woolcock
7fff762dfc Rename IsGameplay 2020-10-07 16:14:49 +10:30
Shane Woolcock
c8c5998af4 Bail if FrameworkSetting.ConfineMouseMode is unavailable 2020-10-07 16:02:35 +10:30
Shane Woolcock
478f2dec96 Maintain the current gameplay state in OsuGame 2020-10-06 22:39:35 +10:30
Shane Woolcock
782fc1d60f Use OsuGame.OverlayActivationMode rather than per-Player 2020-10-06 20:27:35 +10:30
Shane Woolcock
1877312a91 Rename DuringGameplay 2020-10-06 20:27:35 +10:30
Shane Woolcock
5859755886 Use current OverlayActivationMode to determine confine logic 2020-10-05 11:11:46 +10:30
Shane Woolcock
4b6f893408 Merge branch 'master' into confine-during-gameplay
# Conflicts:
#	osu.Game/Configuration/OsuConfigManager.cs
#	osu.Game/OsuGame.cs
#	osu.Game/Screens/Play/Player.cs
2020-10-05 10:23:37 +10:30
Dean Herbert
260ca31df0 Change default mute key to Ctrl+F4 for now 2020-09-23 12:31:50 +09:00
Dean Herbert
3062fe4411 Add editor key bindings to switch between screens 2020-09-22 15:55:25 +09:00
smoogipoo
1143d5d992 Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
Joehu
f4f642fbcf Add ability to skip cutscene with forward mouse button 2020-08-17 23:21:44 -07:00
Shane Woolcock
ef3c8fa21f Add tracking component to handle OsuConfineMouseMode 2020-08-16 21:18:15 +09:30
Shane Woolcock
f98e96e45b Add osu!-specific enum for confine mouse mode 2020-08-16 10:52:23 +09:30
Dan Balasescu
b64ddf061e
Remove whitespace 2020-07-14 20:37:21 +09:00
Dean Herbert
064814f70a
Merge branch 'master' into gameplay-pause-via-middle-mouse 2020-07-14 07:39:02 +09:00
Dean Herbert
08696b9bca Allow pausing gameplay via middle mouse button 2020-07-12 23:03:03 +09:00
vntxx
d18609e900 Added notifications keybinding
Implementation of #9502
2020-07-12 12:44:00 +02:00
Dean Herbert
6c8b6f05f8 Fix key bindings switching order at random on consecutive "reset to defaults" 2020-07-08 15:24:26 +09:00
Jack Boswell (boswelja)
e15324ca90 Shorten new binding descriptions 2020-06-15 21:44:38 +12:00
Dean Herbert
080bf1e85a Fix missing default inclusion 2020-06-15 13:46:16 +09:00
Joehu
b8fa1a2c41 Add shortcut to go home 2020-06-14 11:22:38 -07:00
Jack Boswell (boswelja)
7c04e9aca4 Move new GlobalAction keybinding entries to the end of the class.
The new keybindings shouldn't mess with existing bindings anymore
2020-06-07 15:37:19 +12:00
Jack Boswell (boswelja)
55953b9e85 Add a keybinding for selecting the previous random beatmap
Also gave the new actions more meaningful names
2020-06-03 18:13:18 +12:00
Jack Boswell (boswelja)
030b55ae85 Add a section to global keybind settings for song select 2020-06-03 17:55:15 +12:00
Dean Herbert
f3fee73441 Fix DatabasedKeyBindingContainer not using defaults for non-databased ruleset 2020-04-20 09:35:00 +09:00
Dean Herbert
6989738710 Change default global bindings for volume changing to include the alt key prefix 2020-03-02 18:59:05 +09:00
Dean Herbert
489bf16bea Add SelectNext and SelectPrevious global actions 2020-03-02 18:55:28 +09:00
Dean Herbert
ee73f3e2b2 Change matching mode for global actions to better discern similar binds 2020-03-02 18:54:00 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
Joehu
f43602518a Add global action for toggling now playing overlay 2020-01-11 11:43:51 -08:00
Joehu
d188d33f18 Fix osu!direct global action not being bound to a key 2020-01-05 18:59:06 -08:00
Huo Yaoyuan
f05b83d7d4 Use typeparamref. 2019-11-17 20:48:23 +08:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
Dean Herbert
b59973c712 Update in line with framework changes 2019-08-27 18:43:58 +09:00
Dean Herbert
5963f7d914 Update comment 2019-08-13 19:52:40 +09:00
Dean Herbert
5dbde38a6b Group key bindings together 2019-08-13 12:40:20 +09:00
Dean Herbert
f3380c9372 Remove "jukebox" terminology 2019-08-13 12:06:57 +09:00