Skip to content

Commit 41378f2

Browse files
committed
feat(Input Devices): Add updated target devices
- Adds Horipad Steam Controller as a new additional target. - Switch to using deck-uhid target over the deck-vchi target
1 parent 6bfa88b commit 41378f2

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

core/global/launch_manager.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ func set_gamepad_profile(path: String, target_gamepad: String = "") -> void:
416416
if not target_gamepad.is_empty():
417417
var target_devices := PackedStringArray([target_gamepad, "keyboard", "mouse"])
418418
match target_gamepad:
419-
"xb360", "xbox-series", "xbox-elite", "gamepad":
419+
"xb360", "xbox-series", "xbox-elite", "gamepad", "hori-steam":
420420
target_devices.append("touchpad")
421421
_:
422422
logger.debug(target_gamepad, "needs no additional target devices.")

core/systems/input/input_plumber.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ static func load_target_modified_profile(device: CompositeDevice, path: String,
8787
var mapped_capabilities := profile.to_json()
8888
logger.debug("Mapped Capabilities (before):", mapped_capabilities)
8989
match profile_modifier:
90-
"deck":
90+
"deck-uhid":
9191
logger.debug("Steam Deck Profile")
9292
if c_pad_cap not in mapped_capabilities:
9393
logger.debug("Map", c_pad_cap)

core/systems/input/input_plumber_profile.gd

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ enum TargetDevice {
1212
Keyboard,
1313
DualSense,
1414
DualSenseEdge,
15+
Horipad,
1516
SteamDeck,
1617
XBox360,
1718
XBoxSeries,
@@ -70,8 +71,10 @@ static func from_dict(dict: Dictionary) -> InputPlumberProfile:
7071
target_device = TargetDevice.DualSense
7172
"ds5-edge":
7273
target_device = TargetDevice.DualSenseEdge
73-
"deck":
74+
"deck-uhid":
7475
target_device = TargetDevice.SteamDeck
76+
"hori-steam":
77+
target_device = TargetDevice.Horipad
7578
"xb360":
7679
target_device = TargetDevice.XBox360
7780
"xbox-series":
@@ -112,8 +115,10 @@ static func get_target_device_string(target_device: TargetDevice) -> String:
112115
target_device_str = "ds5"
113116
TargetDevice.DualSenseEdge:
114117
target_device_str = "ds5-edge"
118+
TargetDevice.Horipad:
119+
target_device_str = "hori-steam"
115120
TargetDevice.SteamDeck:
116-
target_device_str = "deck"
121+
target_device_str = "deck-uhid"
117122
TargetDevice.XBox360:
118123
target_device_str = "xb360"
119124
TargetDevice.XBoxSeries:
@@ -135,8 +140,10 @@ static func get_target_device(target_device_str: String) -> TargetDevice:
135140
target_device = TargetDevice.DualSense
136141
"ds5-edge":
137142
target_device = TargetDevice.DualSenseEdge
138-
"deck":
143+
"deck-uhid":
139144
target_device = TargetDevice.SteamDeck
145+
"hori-steam":
146+
target_device = TargetDevice.Horipad
140147
"xb360":
141148
target_device = TargetDevice.XBox360
142149
"xbox-elite":
@@ -228,4 +235,3 @@ func to_dict() -> Dictionary:
228235
func to_json() -> String:
229236
var dict := self.to_dict()
230237
return JSON.stringify(dict)
231-

core/ui/card_ui/gamepad/gamepad_settings.gd

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ var gamepad: CompositeDevice
2222
var profile: InputPlumberProfile
2323
var profile_gamepad: String
2424
var library_item: LibraryItem
25-
var gamepad_types := ["Xbox 360", "XBox One Elite", "DualSense Edge", "Steam Deck (experimental)"]
26-
var gamepad_types_icons := ["XBox 360", "Xbox One", "PS5", "Steam Deck"] #From res://assets/gamepad/icon_mappings
25+
var gamepad_types := ["Xbox 360", "XBox One Elite", "DualSense Edge", "Steam Deck", "Horipad Steam Controller"]
26+
var gamepad_types_icons := ["XBox 360", "Xbox One", "PS5", "Steam Deck", "Steam Deck"] #From res://assets/gamepad/icon_mappings
2727
var gamepad_type_selected := 0
2828
var mapping_elements: Dictionary = {}
2929
var logger := Log.get_logger("GamepadSettings", Log.LEVEL.INFO)
@@ -554,7 +554,9 @@ func get_selected_target_gamepad() -> InputPlumberProfile.TargetDevice:
554554
return InputPlumberProfile.TargetDevice.DualSenseEdge
555555
"DualSense Edge":
556556
return InputPlumberProfile.TargetDevice.DualSenseEdge
557-
"Steam Deck (experimental)":
557+
"Horipad Steam Controller":
558+
return InputPlumberProfile.TargetDevice.Horipad
559+
"Steam Deck":
558560
return InputPlumberProfile.TargetDevice.SteamDeck
559561
logger.error(selected_gamepad + " not found. Using XBox360")
560562
return InputPlumberProfile.TargetDevice.XBox360
@@ -573,8 +575,10 @@ func get_target_gamepad_text(gamepad_type: InputPlumberProfile.TargetDevice) ->
573575
return "DualSense"
574576
InputPlumberProfile.TargetDevice.DualSenseEdge:
575577
return "DualSense Edge"
578+
InputPlumberProfile.TargetDevice.Horipad:
579+
return "Horipad Steam Controller"
576580
InputPlumberProfile.TargetDevice.SteamDeck:
577-
return "Steam Deck (experimental)"
581+
return "Steam Deck"
578582
InputPlumberProfile.TargetDevice.XBox360:
579583
return "XBox 360"
580584
InputPlumberProfile.TargetDevice.XBoxSeries:
@@ -610,7 +614,7 @@ func _set_gamepad_profile(gamepad: CompositeDevice, profile_path: String = "") -
610614
if not self.profile_gamepad.is_empty():
611615
var target_devices := PackedStringArray([self.profile_gamepad, "keyboard", "mouse"])
612616
match self.profile_gamepad:
613-
"xb360", "xbox-series", "xbox-elite", "gamepad":
617+
"xb360", "xbox-series", "xbox-elite", "gamepad", "hori-steam":
614618
target_devices.append("touchpad")
615619
_:
616620
logger.debug(self.profile_gamepad, "needs no additional target devices.")

0 commit comments

Comments
 (0)