Skip to content

Commit 786bfe0

Browse files
authored
Merge pull request #13 from GPLgithub/master
PySide6 and Maya 2025 fixes, UE 5.4 turntable project
2 parents de99c80 + 230dc06 commit 786bfe0

31 files changed

+559
-31
lines changed

azure-pipelines.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,18 @@ jobs:
2424
strategy:
2525
matrix:
2626
# Define all the platform/python version we need
27+
MacPython39:
28+
platform: 'osx' # Short name for us
29+
imageName: 'macOS-latest'
30+
python.version: '3.9'
31+
WinPython39:
32+
platform: 'win' # Short name for us
33+
imageName: 'windows-latest'
34+
python.version: '3.9'
35+
LinuxPython39:
36+
platform: 'linux' # Short name for us
37+
imageName: 'ubuntu-latest'
38+
python.version: '3.9'
2739
MacPython311:
2840
platform: 'osx' # Short name for us
2941
imageName: 'macOS-latest'

hooks/core/bootstrap.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
class Bootstrap(get_hook_baseclass()):
2929
"""
30-
Override the bootstrap core hook to cache some bundles ourselves.
30+
Override the bootstrap core hook to cache ourself some bundles.
3131
http://developer.shotgunsoftware.com/tk-core/core.html#bootstrap.Bootstrap
3232
"""
3333
# List of github repos for which we download releases, with a github token to
@@ -97,7 +97,7 @@ def populate_bundle_cache_entry(self, destination, descriptor, **kwargs):
9797
if self.shotgun.config.proxy_handler:
9898
# Re-use proxy settings from the Shotgun connection
9999
opener = url2.build_opener(
100-
self.parent.shotgun.config.proxy_handler,
100+
self.shotgun.config.proxy_handler,
101101
)
102102
url2.install_opener(opener)
103103

@@ -229,7 +229,7 @@ def _download_zip_github_asset(self, asset, destination, token):
229229
if self.shotgun.config.proxy_handler:
230230
# Re-use proxy settings from the Shotgun connection
231231
opener = url2.build_opener(
232-
self.parent.shotgun.config.proxy_handler,
232+
self.shotgun.config.proxy_handler,
233233
auth_handler
234234
)
235235
else:

hooks/tk-multi-publish2/tk-maya/basic/publish_fbx.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import maya.mel as mel
88
import sgtk
99
from sgtk.util.filesystem import ensure_folder_exists
10-
from tank_vendor import six
1110

1211
HookBaseClass = sgtk.get_hook_baseclass()
1312

@@ -294,9 +293,27 @@ def validate(self, settings, item):
294293

295294
return True
296295

296+
def _copy_to_publish(self, settings, item):
297+
"""
298+
Override base implementation to do nothing
299+
since we're not copying a file but exporting
300+
directly to the publish location.
301+
"""
302+
pass
303+
304+
def _copy_local_to_publish(self, settings, item):
305+
"""
306+
Override base implementation to do nothing
307+
since we're not copying a file but exporting
308+
directly to the publish location.
309+
"""
310+
pass
311+
297312
def _copy_work_to_publish(self, settings, item):
298313
"""
299-
Override base implementation to do nothing.
314+
Override base implementation to do nothing
315+
since we're not copying a file but exporting
316+
directly to the publish location.
300317
"""
301318
pass
302319

@@ -363,13 +380,9 @@ def finalize(self, settings, item):
363380
def _session_path():
364381
"""
365382
Return the path to the current session
366-
:return:
383+
:return: A string or ``None``.
367384
"""
368385
path = cmds.file(query=True, sn=True)
369-
370-
if path is not None:
371-
path = six.ensure_str(path)
372-
373386
return path
374387

375388

hooks/tk-multi-publish2/tk-maya/basic/publish_turntable.py

Lines changed: 57 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import subprocess
2020
import sys
2121
import tempfile
22-
from six.moves.urllib import parse
22+
from urllib import parse
2323

2424
HookBaseClass = sgtk.get_hook_baseclass()
2525

@@ -40,9 +40,19 @@ def __init__(self, with_open_button=False, *args, **kwargs):
4040
self.combo_box.setEditable(True)
4141
self.combo_box.setMaxVisibleItems(10)
4242
# Prevent the QComboBox to get too big if the path is long.
43-
self.combo_box.setSizeAdjustPolicy(
44-
QtGui.QComboBox.AdjustToMinimumContentsLength
45-
)
43+
engine = sgtk.platform.current_engine()
44+
# Note: it would be better to test for Qt4 or Qt5 so this
45+
# wouldn't have to be changed when moving to new major
46+
# releases of Qt, but has_qt4 and has_qt5 returns True
47+
# even when PySide6 is being used.
48+
if engine.has_qt6:
49+
self.combo_box.setSizeAdjustPolicy(
50+
QtGui.QComboBox.AdjustToMinimumContentsLengthWithIcon
51+
)
52+
else: # Qt4 or Qt5
53+
self.combo_box.setSizeAdjustPolicy(
54+
QtGui.QComboBox.AdjustToMinimumContentsLength
55+
)
4656

4757
self.open_button = QtGui.QToolButton()
4858
icon = QtGui.QIcon()
@@ -92,7 +102,7 @@ def get_path(self):
92102
93103
:returns: An utf-8 encoded string.
94104
"""
95-
return six.ensure_str(self.combo_box.currentText())
105+
return self.combo_box.currentText()
96106

97107
def set_path(self, path):
98108
"""
@@ -540,14 +550,14 @@ def get_ui_settings(self, widget):
540550
# Please note that we don't have to return all settings here, just the
541551
# settings which are editable in the UI.
542552
settings = {
543-
"Unreal Engine Version": six.ensure_str(widget.unreal_setup_widget.unreal_version),
544-
"Unreal Engine Path": six.ensure_str(widget.unreal_setup_widget.unreal_path),
553+
"Unreal Engine Version": widget.unreal_setup_widget.unreal_version,
554+
"Unreal Engine Path": widget.unreal_setup_widget.unreal_path,
545555
# Get the project path evaluated from the template or the value which
546556
# was manually set.
547-
"Unreal Project Path": six.ensure_str(widget.unreal_setup_widget.unreal_project_path),
548-
"Turntable Map Path": six.ensure_str(widget.unreal_turntable_map_widget.text()),
549-
"Sequence Path": six.ensure_str(widget.unreal_sequence_widget.text()),
550-
"Turntable Assets Path": six.ensure_str(widget.unreal_turntable_asset_widget.text()),
557+
"Unreal Project Path": widget.unreal_setup_widget.unreal_project_path,
558+
"Turntable Map Path": widget.unreal_turntable_map_widget.text(),
559+
"Sequence Path": widget.unreal_sequence_widget.text(),
560+
"Turntable Assets Path": widget.unreal_turntable_asset_widget.text(),
551561
# "HDR Path": widget.hdr_image_template_widget.get_path(),
552562
# "Start Frame": widget.start_frame_spin_box.value(),
553563
# "End Frame": widget.end_frame_spin_box.value(),
@@ -970,15 +980,22 @@ def publish(self, settings, item):
970980
publish_path = self.get_publish_path(settings, item)
971981
publish_path = os.path.normpath(publish_path)
972982

973-
# This plugin publishes a turntable movie to Shotgun
983+
# This plugin publishes a turntable movie to FPTR
974984
# These are the steps needed to do that
975985

976986
# =======================
977987
# 1. Export the Maya scene to FBX
978988
# The FBX will be exported to a temp folder
979989
# Another folder can be specified as long as the name has no spaces
980990
# Spaces are not allowed in command line Unreal Python args
981-
temp_folder = tempfile.mkdtemp(suffix="temp_unreal_shotgun")
991+
992+
# Set a base temp dir on Windows to avoid having
993+
# the user name in the temp path which can include
994+
# "." e.g. firstname.name and makes UE crashes
995+
base_temp_dir = None
996+
if sys.platform == "win32":
997+
base_temp_dir = r"C:\Temp"
998+
temp_folder = tempfile.mkdtemp(suffix="temp_unreal_shotgun", dir=base_temp_dir)
982999
# Store the temp folder path on the item for cleanup in finalize
9831000
item.local_properties["temp_folder"] = temp_folder
9841001
fbx_folder = temp_folder
@@ -1033,7 +1050,7 @@ def publish(self, settings, item):
10331050
# Use the unreal_setup_turntable to do this in Unreal
10341051
self.logger.info("Setting up Unreal turntable project...")
10351052
# Copy the Unreal project in a temp location so we can modify it
1036-
temp_dir = tempfile.mkdtemp()
1053+
temp_dir = tempfile.mkdtemp(dir=base_temp_dir)
10371054
project_path, project_file = os.path.split(unreal_project_path)
10381055
project_folder = os.path.basename(project_path)
10391056
temp_project_dir = os.path.join(temp_dir, project_folder)
@@ -1083,13 +1100,13 @@ def publish(self, settings, item):
10831100
# "environment can only contain strings" erors will happen.
10841101
extra_env = {
10851102
# The FBX to import into Unreal
1086-
"UNREAL_SG_FBX_OUTPUT_PATH": six.ensure_str(fbx_output_path),
1103+
"UNREAL_SG_FBX_OUTPUT_PATH": fbx_output_path,
10871104
# The Unreal content browser folder where the asset will be imported into
1088-
"UNREAL_SG_ASSETS_PATH": six.ensure_str(turntable_assets_path),
1105+
"UNREAL_SG_ASSETS_PATH": turntable_assets_path,
10891106
# The Unreal turntable map to duplicate where the asset will be instantiated into
1090-
"UNREAL_SG_MAP_PATH": six.ensure_str(turntable_map_path),
1091-
"UNREAL_SG_SEQUENCE_PATH": six.ensure_str(sequence_path),
1092-
"UNREAL_SG_MOVIE_OUTPUT_PATH": six.ensure_str(publish_path),
1107+
"UNREAL_SG_MAP_PATH": turntable_map_path,
1108+
"UNREAL_SG_SEQUENCE_PATH": sequence_path,
1109+
"UNREAL_SG_MOVIE_OUTPUT_PATH": publish_path,
10931110
}
10941111
self.logger.info("Adding %s to the environment" % extra_env)
10951112
run_env.update(extra_env)
@@ -1581,12 +1598,31 @@ def evaluate_unreal_project_path(self, unreal_project_path_template, unreal_engi
15811598
)
15821599
)
15831600

1601+
def _copy_to_publish(self, settings, item):
1602+
"""
1603+
Override base implementation to do nothing
1604+
since we're not copying a file but rendering
1605+
directly to the publish location.
1606+
"""
1607+
pass
1608+
1609+
def _copy_local_to_publish(self, settings, item):
1610+
"""
1611+
Override base implementation to do nothing
1612+
since we're not copying a file but rendering
1613+
directly to the publish location.
1614+
"""
1615+
pass
1616+
15841617
def _copy_work_to_publish(self, settings, item):
15851618
"""
1586-
Override base implementation to do nothing.
1619+
Override base implementation to do nothing
1620+
since we're not copying a file but rendering
1621+
directly to the publish location.
15871622
"""
15881623
pass
15891624

1625+
15901626
def _short_version(version):
15911627
"""
15921628
Return a short major.minor version for the given version.
@@ -1598,7 +1634,7 @@ def _short_version(version):
15981634
"""
15991635
parts = version.split(".", 2)
16001636
if len(parts) > 2:
1601-
return ".".join(parts[:2])
1637+
return ".".join(parts[:2])
16021638
return version
16031639

16041640

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[/Script/HardwareTargeting.HardwareTargetingSettings]
2+
TargetedHardwareClass=Desktop
3+
AppliedTargetedHardwareClass=Desktop
4+
DefaultGraphicsPerformance=Maximum
5+
AppliedDefaultGraphicsPerformance=Maximum
6+
7+
[/Script/WmfMediaFactory.WmfMediaSettings]
8+
AllowNonStandardCodecs=True
9+
LowLatency=False
10+
NativeAudioOut=False
11+
HardwareAcceleratedVideoDecoding=True
12+
13+
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
14+
bEnablePlugin=True
15+
bAllowNetworkConnection=True
16+
SecurityToken=4F99E4E87844874F1DAD32833EBC3ACB
17+
bIncludeInShipping=False
18+
bAllowExternalStartInShipping=False
19+
bCompileAFSProject=False
20+
bUseCompression=False
21+
bLogFiles=False
22+
bReportStats=False
23+
ConnectionType=USBOnly
24+
bUseManualIPAddress=False
25+
ManualIPAddress=
26+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[/Script/EngineSettings.GeneralProjectSettings]
2+
ProjectID=B6599CB54F66B6CFD93DC3A95CB55C3D
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
[/Script/Engine.InputSettings]
2+
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
3+
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
4+
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
5+
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
6+
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
7+
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
8+
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
9+
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
10+
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
11+
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
12+
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
13+
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
14+
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
15+
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
16+
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
17+
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
18+
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
19+
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
20+
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
21+
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
22+
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
23+
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
24+
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
25+
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
26+
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
27+
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
28+
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
29+
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
30+
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
31+
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
32+
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
33+
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
34+
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
35+
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
36+
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
37+
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
38+
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
39+
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
40+
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
41+
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
42+
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
43+
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
44+
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
45+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
46+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
47+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
48+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
49+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
50+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
51+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
52+
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
53+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
54+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
55+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
56+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
57+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
58+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
59+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
60+
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
61+
bAltEnterTogglesFullscreen=True
62+
bF11TogglesFullscreen=True
63+
bUseMouseForTouch=False
64+
bEnableMouseSmoothing=True
65+
bEnableFOVScaling=True
66+
bCaptureMouseOnLaunch=True
67+
bEnableLegacyInputScales=True
68+
bEnableMotionControls=True
69+
bFilterInputByPlatformUser=False
70+
bEnableInputDeviceSubsystem=True
71+
bShouldFlushPressedKeysOnViewportFocusLost=True
72+
bEnableDynamicComponentInputBinding=True
73+
bAlwaysShowTouchInterface=False
74+
bShowConsoleOnFourFingerTap=True
75+
bEnableGestureRecognizer=False
76+
bUseAutocorrect=False
77+
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
78+
DefaultViewportMouseLockMode=LockOnCapture
79+
FOVScale=0.011110
80+
DoubleClickTime=0.200000
81+
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
82+
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
83+
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
84+
-ConsoleKeys=Tilde
85+
+ConsoleKeys=Tilde
86+
632 KB
Binary file not shown.
1.27 MB
Binary file not shown.

0 commit comments

Comments
 (0)