Add a callback to OnUserLoginChangedEvent to the device mapper. This will provide platforms a hook for when a platform user is logged in or out and allow you to remap any previously paired input devices away from the now logged out user.
#jira UE-147792
#rb david.harvey
#preflight 628d2d25347b7778b6ceb043
[CL 20363459 by ben hoffman in ue5-main branch]
The previous default of CanBeUsedOnAnyThread() proved unsafe since some output devices can safely be used on any thread but cannot safely be used during a crash. CanBeUsedOnAnyThread() was used pre-5.1 to control serialization to an output device during a crash, but optimizations in 5.1 have uncovered that some of these were never safe.
#preflight 62856506614041edb7a6de4b
#rb Zousar.Shaker
#rnx
[CL 20280354 by Devin Doucette in ue5-main branch]
Moved Math forward declarations from CoreFwd.h to Math/MathFwd.h
#rb steve.robb
#preflight 62837df43c1cdc59e2b07dd5
[CL 20240602 by Andrew Davidson in ue5-main branch]
Move the FPlatformInputDeviceState and EInputDeviceConnectionState declarations to the CoreMiscDefines file so that they can be correctly exported in the NoExports.h file. We need them to be in a different file than the base GenericPlatformInputDeviceMapper.h because we need to keep the APPLICATIONCORE_API on that class, which is not available in the NoExports.h file.
#jira UE-147801
#rb trivial
#rnx
#preflight 62632b02d4489684ed592c34
[CL 19902249 by ben hoffman in ue5-main branch]
#p4v-cherrypick 19897004
#ROBOMERGE-AUTHOR: james.doverspike
#ROBOMERGE-SOURCE: CL 19896998 via CL 19897000 via CL 19897003 via CL 19897308 via CL 19897311
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19897438 by james doverspike in ue5-main branch]
- Create the FInputDeviceID struct, which represents a single input device such as a gamepad, keyboard, or mouse. These are globally unique, and allocated by the Platform Input Device Mapper. This struct will replace the old "int32 ControllerID" that is used in various places to provide some type safety and maintainability.
- Functions to query all the currently connected devices on a given platform, as well as get their current state and owning platform users. These can be exposed to blueprints via the local player, game instance, or even a subsystem in the future. See UE-147801 for progress on Blueprint Support.
- New delegates for the ConnectionChange and PairingChange of a gamepad device that utilize the new FInputDeviceId and FPlatformUserId
- Add functions to the GenericApplicationMessageHandler for the "OnController_X" functions. These will be implemented later when I can replace the old uses of the "int32 ControllerId". See UE-147796.
#jira UE-147798
#rb David.Harvey
#preflight 62617c186971732e1318d0ec
[CL 19851010 by ben hoffman in ue5-main branch]
#rb none
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19573269 via CL 19573278 via CL 19573287 via CL 19573292
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)
[CL 19575899 by john barrett in ue5-main branch]
Set CanBeUsedOnAnyThread() to true and move to single printf in Serialize
#rnx
#jira UE-147459
#review-19549147 @Brandon.Schaefer, @Robert.Seiver
#preflight none
[CL 19549852 by Michael Sartain in ue5-main branch]
CocoaWindows now store their Type. This is used so that we can make sure that we can call OnWindowActivationChanged
when the menu closes. This is needed to restore focus in the main window after the menu is triggered. Several other
utility windows are now not treated as main windows.
[REVIEW] will.damon
#jira UE-139065
#rnx
#preflight n/a
#lockdown cristina.riveron
#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19093114 via CL 19093772 via CL 19094565 via CL 19096071 via CL 19105329
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19146632 by dave hunter in ue5-main branch]
This does use LaunchEngineLoops output over Linux which means with -stdout no color coded warning/error messages
#jira none
#rb Michael.Sartain, Rober.Seiver
#preflight none
[CL 19074484 by Brandon Schaefer in ue5-main branch]
Add bIsWindowShown option to Linux Console Output Device
Default to true to match old behavior.
Add -nostdout by default in UnrealLightmass
#rb Brandon.Schaefer
#jira none
#preflight trivial
[CL 18817282 by Michael Sartain in ue5-main branch]
I've added a boolean AllowMainWindow to CocoaWindow which is now set to true unless the window is a menu. This status is reported to the OS via the canBecomeMainWindow method. It is also used by the MacApplication which will now not activate a window when a window that's being closed is not a main window (via AllowMainWindow).
#rb will.damon
#jira UE-137460
#preflight n/a
#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 18734334 in //UE5/Release-5.0/... via CL 18734343 via CL 18734356
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18734361 by dave hunter in ue5-main branch]
#preflight 61eefc77ba69a4fdb220bf23
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18713191 by marc audy in ue5-main branch]
Release the viewcontroller holding the splashcreen storyboard when it's no longer displayer.
# fyi wei.liu
#rb jack.porter
#jira UE-137601
#preflight 61dff0b2a11335e9c4aa263c
#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 18594779 in //UE5/Release-5.0/... via CL 18594794 via CL 18594803
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)
[CL 18596612 by axel riffard in ue5-main branch]
- Introduced IScreenReaderNavigationPolicy. This is an interface class that helps the screen reader navigate to the appropriate target accessible widget.
- Introduced FScreenReaderDefaultNavigationPolicy. This is a policy that all FScreenReaderUsers have by default. It helps the screen reader user find target accessible widgets that are enabled and can be focused on.
- Introduced focus navigation functions to FScreenReaderUser. This is the means clients can control and shift accessible focus for FScreenReaderUsers.
- IAccessibleWidget can now retrieve the logical next and previous widget in the accessible widget hierarchy. This functionality is similar to that of mobile screen readers like Voiceover and Android Talkback which allow users to navigate around the UI hierarchy with left and right swipes.
- IAccessibleWidget can now search for a target widget from a source widget based on a search criteria. This is useful for searching for widgets by characteristics (such as enabled state, widget type etc).
- Fixed a small bug in accessible focus where an accessible widget with application focus cannot receive accessible focus again and have its contents announced to the end user.
#rb: Prajwal.Manjunath
#jira: UE-130926
#preflight: 61baf981440d71c977b3089a
[CL 18477319 by Leon Huang in ue5-main branch]