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 InputKey
s 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