Commit Graph

604 Commits

Author SHA1 Message Date
ben hoffman
e4af12b977 XInputInterface: Replace uses of the old "int32 ControllerID" in favor of the new platform input device mapper. The new input device mapper will still call the old CoreDelegates until they are deprecated/removed, so there is no behavioral change here. Using the platform input device mapper will allow us to pass specific Input Device ID's around to slate and the game, so that we can properly route input events to and from specific devices
#jira UE-147796
#rb david.harvey
#preflight 62741ef72e58cb727dfc2ac8

[CL 20075962 by ben hoffman in ue5-main branch]
2022-05-06 10:56:52 -04:00
ben hoffman
ff61d48be3 Linux Application: Replace uses of the old "int32 ControllerID" in favor of the new platform input device mapper. The new input device mapper will still call the old CoreDelegates until they are deprecated/removed, so there is no behavioral change here. Using the platform input device mapper will allow us to pass specific Input Device ID's around to slate and the game, so that we can properly route input events to and from specific devices
#jira UE-147796
#rb Brandon.Schaefer
#preflight 62741ca6ca0ad32a968784c7

[CL 20062913 by ben hoffman in ue5-main branch]
2022-05-05 15:24:21 -04:00
ben hoffman
05358abfff Mac: Replace uses of the old "int32 ControllerID" in favor of the new platform input device mapper. The new input device mapper will still call the old CoreDelegates until they are deprecated/removed, so there is no behavioral change here. Using the platform input device mapper will allow us to pass specific Input Device ID's around to slate and the game, so that we can properly route input events to and from specific devices
#jira UE-147796
#rb david.harvey
#preflight 6273f70303269096abca9ce1

[CL 20060140 by ben hoffman in ue5-main branch]
2022-05-05 13:18:13 -04:00
Chris Babcock
3cba90fb40 Add r.Mobile.DesiredResX/Y for Android and -mobileresx and -mobileresy commandline overrides
#jira UE-144742
#android
#review @Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/6272ceb83e1f2a9d3a903d7a

[CL 20046802 by Chris Babcock in ue5-main branch]
2022-05-04 15:15:55 -04:00
ben hoffman
2c3741269c Update comment in the GenericPlatformInputDeviceMapper to keep the BP lib up to date
#jira UE-147801
#rb trivial
#preflight skip
#rnx

[CL 20008057 by ben hoffman in ue5-main branch]
2022-05-02 10:10:10 -04:00
chris constantinescu
1278a26f76 Low level tests further refactoring and test resource deployment
#preflight 626955ed0d4ac78d716eacf0
#rnx

[CL 19941830 by chris constantinescu in ue5-main branch]
2022-04-27 12:36:35 -04:00
ben hoffman
cee9ba5038 Remove the UE::Input namespace because the types won't be able to be BP exposed if we use namespaces. This is because UHT does not support any namespacing outside of "::Type" for some enums, which wouldn't work for the Device State struct. This renames the FInputDeviceState struct to FPlatformInputDeviceState because without the namespaces it conflicts with an existing slate type now that it outside the namespace.
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]
2022-04-25 10:27:16 -04:00
james doverspike
58c7d94999 Add support to default RHI based on device id and a list of devices that are capable of updating to avoid prompting users who can't update their drivers
#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]
2022-04-24 14:14:43 -04:00
ben hoffman
5e6e396663 Create the Platform Input Device Mapper. This provides an interface that platforms can use to create a map of Input Devices to their owning PlatformUser. This will allow for granular control of how many input devices are mapped to a single user, which some platforms want to do differently than others. The API can be used to query what devices are mapped to which user, so that you can easily determine which controller should recieve a force feedback event, or which user has pushed a certain button.
- 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]
2022-04-21 12:25:34 -04:00
robert seiver
ceb65d0775 Removed an unused bool related to Gamepads
#jira none
#rb Brandon.Schaefer
#preflight none

[CL 19786956 by robert seiver in ue5-main branch]
2022-04-18 12:17:31 -04:00
robert seiver
c68adb3c60 Added support for IsGamepadAttached on Linux
#jira UE-33266
#rb Brandon.Schaefer
#fyi @Brandon.Schaefer
#preflight 625d8814d4124345879dcf9f

[CL 19786909 by robert seiver in ue5-main branch]
2022-04-18 12:12:28 -04:00
Brandon Schaefer
a13924564a Fix UngrabImpl not tearing down barries, and not disabling relative mode
#jira UE-138019
#review @Robert.Seiver
#rb Robert.Seiver
#preflight none

[CL 19771808 by Brandon Schaefer in ue5-main branch]
2022-04-15 12:07:31 -04:00
john barrett
976ee0fb42 CIS fix.
#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]
2022-03-31 14:28:38 -04:00
robomerge
fd791b9484 Added log highlighting, based on log category and log search string.
Commandline usage:
-LogHighlights="LogNet Cyan, LogTemp Green"
-LogStringHighlights="UNetConnection::Close=Purple, NotifyAcceptingConnection accepted from=DarkGreen"

#rb Devin.Doucette

#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19572963 via CL 19572976 via CL 19572982 via CL 19572989
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19575887 by robomerge in ue5-main branch]
2022-03-31 14:28:15 -04:00
axel riffard
10f7d75ff4 Siri Remote touch panel is a dpad and add Virtual Keyboard support to tvOS
#rb.jack.porter
#jira UE-93988
#preflight 624576fcf4217035fa87b5c5

[CL 19570813 by axel riffard in ue5-main branch]
2022-03-31 05:55:09 -04:00
Michael Sartain
4d2efde0f4 Make FLinuxConsoleOutputDevice::Serialize Thread Safe
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]
2022-03-29 17:19:42 -04:00
Devin Doucette
292008ea35 Logging: Replaced GLog->PanicFlush() with GLog->Panic()
Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.

#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer

[CL 19545093 by Devin Doucette in ue5-main branch]
2022-03-29 13:31:48 -04:00
Devin Doucette
c8d64e3c97 Logging: Added and migrated to GLog->PanicFlush() for crash handling
#preflight 623a433a10251d53d5796835
#rb Zousar.Shaker

[CL 19478551 by Devin Doucette in ue5-main branch]
2022-03-23 09:39:18 -04:00
julian smart
ddd8c17323 When Android.UnifyMotionSpace is set to 2, make sure rotation rate is right-screw
#jira UE-138975


#ROBOMERGE-AUTHOR: julian.smart
#ROBOMERGE-SOURCE: CL 19401935 via CL 19401938 via CL 19403679 via CL 19403971 via CL 19403983
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19406674 by julian smart in ue5-main branch]
2022-03-16 11:56:21 -04:00
julian smart
70107c8499 CVar Android.UnifyMotionSpace can now be set to 1 to match Unreal space, 2 to swap X and Y and make it right-handed (since most systems are right handed)
#jira UE-138975

[FYI] Chris.Babcock

#ROBOMERGE-AUTHOR: julian.smart
#ROBOMERGE-SOURCE: CL 19401343 via CL 19401345 via CL 19401533 via CL 19403492 via CL 19403639
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19406667 by julian smart in ue5-main branch]
2022-03-16 11:55:57 -04:00
David Harvey
90fe213df5 UIA accessibility is available for all Windows-based platforms.
#jira UE-131865
#rnx
#rb Eric.McDaniel
#preflight 6230989fe348fe2ada64da16

[CL 19384787 by David Harvey in ue5-main branch]
2022-03-15 10:00:23 -04:00
adam kinge
b22405acec Fix r.MobileContentScaleFactor being ignored and always defaulting to 1 on iOS
#jira UE-144079
#rb Jack.Porter
#preflight None

#ROBOMERGE-AUTHOR: adam.kinge
#ROBOMERGE-SOURCE: CL 19260968 in //UE5/Release-5.0/... via CL 19261966
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19269187 by adam kinge in ue5-main branch]
2022-03-04 13:05:08 -05:00
dave hunter
18d0a5304e Fix Mac Menus
Sometimes the active window seems to be confused on Mac.  This works around
the issue so that we will activate another window when a menu closes.

#jira UE-141354, UE-144097
#rnx
[REVIEW] [at]will.damon
#lockdown cristina.riveron
#preflight none

#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19246118 in //UE5/Release-5.0/... via CL 19249226
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263172 by dave hunter in ue5-main branch]
2022-03-04 03:21:10 -05:00
dave hunter
7dde981dc2 Fix window activation when menus close
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]
2022-02-25 09:42:22 -05:00
axel riffard
5ed73f504b Implement PS5 DualSense controller support on iOS/tvOS and fix crash when setting Siri Remote as Unset on tvOS
#rb jack.porter
#jira UE-142746
#preflight 62155f6a840463c99a73b105

#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 19083741 in //UE5/Release-5.0/... via CL 19097758
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19141420 by axel riffard in ue5-main branch]
2022-02-24 23:52:51 -05:00