add lsvpad
This commit is contained in:
1 parent
d7aa5cc9fc
commit
c3a0004c68
4 files changed
+77
-17
No files matched your search
@@ -626,7 +626,7 @@ import ObjectiveC.runtime
|
|||||||
self.isFolder = self.cmdString.contains("FOLDER")
|
self.isFolder = self.cmdString.contains("FOLDER")
|
||||||
self.containsShortcutAction = self.cmdString.contains("+")
|
self.containsShortcutAction = self.cmdString.contains("+")
|
||||||
|
|
||||||
self.hasComponent = self.isStickWheel || (self.hasDisplacementBasedStickPad && self.widgetType == .touchPad && !self.touchPointAnchored)
|
self.hasComponent = self.isStickWheel || (self.isDisplacementBasedStickPad && !self.touchPointAnchored)
|
||||||
self.hasL3R3Indicator = !self.isStickWheel && !self.isDirectionPad && self.widgetType == WidgetTypeEnum.touchPad
|
self.hasL3R3Indicator = !self.isStickWheel && !self.isDirectionPad && self.widgetType == WidgetTypeEnum.touchPad
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -4195,6 +4195,29 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Displacement-based left stick pad" : {
|
||||||
|
"extractionState" : "manual",
|
||||||
|
"localizations" : {
|
||||||
|
"zh-Hans" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "位移型左摇杆触控板"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zh-Hant" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "位移型左搖桿觸控板"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zh-HK" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "位移型左搖桿觸控板"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Displacement-based right stick pad" : {
|
"Displacement-based right stick pad" : {
|
||||||
"extractionState" : "manual",
|
"extractionState" : "manual",
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
@@ -13254,6 +13277,29 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Velocity-based left stick pad" : {
|
||||||
|
"extractionState" : "manual",
|
||||||
|
"localizations" : {
|
||||||
|
"zh-Hans" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "矢量型左摇杆触控板"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zh-Hant" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "矢量型左搖桿觸控板"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zh-HK" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "translated",
|
||||||
|
"value" : "矢量型左搖桿觸控板"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Velocity-based right stick pad" : {
|
"Velocity-based right stick pad" : {
|
||||||
"extractionState" : "manual",
|
"extractionState" : "manual",
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ enum GamepadToggleTarget: Hashable {
|
|||||||
case .select: return [.select]
|
case .select: return [.select]
|
||||||
case .start: return [.start]
|
case .start: return [.start]
|
||||||
case .home: return [.home]
|
case .home: return [.home]
|
||||||
case .leftStick: return [.ls, .lswheel, .lsPad]
|
case .leftStick: return [.ls, .lswheel, .lsPad, .lsvPad]
|
||||||
case .rightStick: return [.rs, .rsPad, .rsvPad]
|
case .rightStick: return [.rs, .rsvPad, .rsPad, .rsWheel]
|
||||||
case .leftShoulder: return [.leftShoulder]
|
case .leftShoulder: return [.leftShoulder]
|
||||||
case .rightShoulder: return [.rightShoulder]
|
case .rightShoulder: return [.rightShoulder]
|
||||||
case .leftTrigger: return [.leftTrigger, .ltPad]
|
case .leftTrigger: return [.leftTrigger, .ltPad]
|
||||||
@@ -84,7 +84,7 @@ enum GamepadWidget: Hashable {
|
|||||||
case a, b, x, y
|
case a, b, x, y
|
||||||
case select, start, home
|
case select, start, home
|
||||||
case dPad, up, down, left, right
|
case dPad, up, down, left, right
|
||||||
case ls, lsPad, lswheel, rs, rsPad, rsvPad, rsWheel
|
case ls, lsPad, lswheel, lsvPad, rs, rsvPad, rsPad, rsWheel
|
||||||
case leftShoulder, rightShoulder
|
case leftShoulder, rightShoulder
|
||||||
case leftTrigger, ltPad, rightTrigger, rtPad
|
case leftTrigger, ltPad, rightTrigger, rtPad
|
||||||
case ds4Touchpad
|
case ds4Touchpad
|
||||||
@@ -107,6 +107,7 @@ enum GamepadWidget: Hashable {
|
|||||||
case .ls: return "LS"
|
case .ls: return "LS"
|
||||||
case .lswheel: return "LSWHEEL"
|
case .lswheel: return "LSWHEEL"
|
||||||
case .lsPad: return "LSPAD"
|
case .lsPad: return "LSPAD"
|
||||||
|
case .lsvPad: return "LSVPAD"
|
||||||
case .rs: return "RS"
|
case .rs: return "RS"
|
||||||
case .rsPad: return "RSPAD"
|
case .rsPad: return "RSPAD"
|
||||||
case .rsvPad: return "RSVPAD"
|
case .rsvPad: return "RSVPAD"
|
||||||
@@ -138,7 +139,8 @@ enum GamepadWidget: Hashable {
|
|||||||
case .right: return SwiftLocalizationHelper.localizedString(forKey: "Gamepad Right")
|
case .right: return SwiftLocalizationHelper.localizedString(forKey: "Gamepad Right")
|
||||||
case .ls: return SwiftLocalizationHelper.localizedString(forKey: "LS/L3 button")
|
case .ls: return SwiftLocalizationHelper.localizedString(forKey: "LS/L3 button")
|
||||||
case .lswheel: return SwiftLocalizationHelper.localizedString(forKey: "Left stick wheel")
|
case .lswheel: return SwiftLocalizationHelper.localizedString(forKey: "Left stick wheel")
|
||||||
case .lsPad: return SwiftLocalizationHelper.localizedString(forKey: "Left stick pad")
|
case .lsPad: return SwiftLocalizationHelper.localizedString(forKey: "Displacement-based left stick pad")
|
||||||
|
case .lsvPad: return SwiftLocalizationHelper.localizedString(forKey: "Velocity-based left stick pad")
|
||||||
case .rs: return SwiftLocalizationHelper.localizedString(forKey: "RS/R3 button")
|
case .rs: return SwiftLocalizationHelper.localizedString(forKey: "RS/R3 button")
|
||||||
case .rsPad: return SwiftLocalizationHelper.localizedString(forKey: "Displacement-based right stick pad")
|
case .rsPad: return SwiftLocalizationHelper.localizedString(forKey: "Displacement-based right stick pad")
|
||||||
case .rsvPad: return SwiftLocalizationHelper.localizedString(forKey: "Velocity-based right stick pad")
|
case .rsvPad: return SwiftLocalizationHelper.localizedString(forKey: "Velocity-based right stick pad")
|
||||||
@@ -460,23 +462,30 @@ struct AbstractGamepadView: View {
|
|||||||
|
|
||||||
private func applyStickSelection(_ widget: GamepadWidget) {
|
private func applyStickSelection(_ widget: GamepadWidget) {
|
||||||
switch widget {
|
switch widget {
|
||||||
case .ls, .lsPad, .lswheel:
|
case .ls, .lsPad, .lswheel, .lsvPad:
|
||||||
leftStickHighlight = nextStickHighlightMode(
|
leftStickHighlight = nextStickHighlightMode(
|
||||||
current: leftStickHighlight,
|
current: leftStickHighlight,
|
||||||
selected: widget,
|
selected: widget,
|
||||||
outerWidget: .ls,
|
outerWidget: .ls,
|
||||||
thumbWidgets: [.lsPad, .lswheel]
|
thumbWidgets: [.lsPad, .lswheel, .lsvPad]
|
||||||
)
|
)
|
||||||
|
if widget == .ls,
|
||||||
|
isCommandSelected?(GamepadWidget.lsPad.cmd) == true
|
||||||
|
|| isCommandSelected?(GamepadWidget.lsvPad.cmd) == true
|
||||||
|
{
|
||||||
|
leftStickHighlight = .both
|
||||||
|
}
|
||||||
case .rs, .rsPad, .rsvPad, .rsWheel:
|
case .rs, .rsPad, .rsvPad, .rsWheel:
|
||||||
rightStickHighlight = nextStickHighlightMode(
|
rightStickHighlight = nextStickHighlightMode(
|
||||||
current: rightStickHighlight,
|
current: rightStickHighlight,
|
||||||
selected: widget,
|
selected: widget,
|
||||||
outerWidget: .rs,
|
outerWidget: .rs,
|
||||||
thumbWidgets: [.rsPad, .rsvPad, .rsWheel]
|
thumbWidgets: [.rsvPad, .rsPad, .rsWheel]
|
||||||
)
|
)
|
||||||
if widget == .rs,
|
if widget == .rs,
|
||||||
isCommandSelected?(GamepadWidget.rsPad.cmd) == true || isCommandSelected?(GamepadWidget.rsvPad.cmd) == true {
|
isCommandSelected?(GamepadWidget.rsPad.cmd) == true
|
||||||
|
|| isCommandSelected?(GamepadWidget.rsvPad.cmd) == true
|
||||||
|
{
|
||||||
rightStickHighlight = .both
|
rightStickHighlight = .both
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -555,11 +564,11 @@ struct AbstractGamepadView: View {
|
|||||||
dpadHighlight = .none
|
dpadHighlight = .none
|
||||||
}
|
}
|
||||||
|
|
||||||
if widgets.contains(.ls) || widgets.contains(.lsPad) || widgets.contains(.lswheel) {
|
if widgets.contains(.ls) || widgets.contains(.lsPad) || widgets.contains(.lswheel) || widgets.contains(.lsvPad) {
|
||||||
leftStickHighlight = .none
|
leftStickHighlight = .none
|
||||||
}
|
}
|
||||||
|
|
||||||
if widgets.contains(.rs) || widgets.contains(.rsPad) || widgets.contains(.rsvPad) {
|
if widgets.contains(.rs) || widgets.contains(.rsPad) || widgets.contains(.rsvPad) || widgets.contains(.rsWheel) {
|
||||||
rightStickHighlight = .none
|
rightStickHighlight = .none
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1019,7 +1028,7 @@ struct AbstractGamepadView: View {
|
|||||||
.frame(width: leftStickSize, height: leftStickSize)
|
.frame(width: leftStickSize, height: leftStickSize)
|
||||||
.offset(x: leftStickCenterX, y: leftStickCenterY)
|
.offset(x: leftStickCenterX, y: leftStickCenterY)
|
||||||
.onTapGesture {
|
.onTapGesture {
|
||||||
handleTappedWidgets([.ls, .lswheel, .lsPad], sourceIsDPad: false)
|
handleTappedWidgets([.ls, .lswheel, .lsPad, .lsvPad], sourceIsDPad: false)
|
||||||
}
|
}
|
||||||
|
|
||||||
DPadXboxStyleView(
|
DPadXboxStyleView(
|
||||||
@@ -1052,7 +1061,7 @@ struct AbstractGamepadView: View {
|
|||||||
.frame(width: rightStickSize, height: rightStickSize)
|
.frame(width: rightStickSize, height: rightStickSize)
|
||||||
.offset(x: rightStickCenterX, y: sharedLowerControlCenterY)
|
.offset(x: rightStickCenterX, y: sharedLowerControlCenterY)
|
||||||
.onTapGesture {
|
.onTapGesture {
|
||||||
handleTappedWidgets([.rs, .rsPad, .rsvPad, .rsWheel], sourceIsDPad: false)
|
handleTappedWidgets([.rs, .rsvPad, .rsPad, .rsWheel], sourceIsDPad: false)
|
||||||
}
|
}
|
||||||
|
|
||||||
HomeButtonView(
|
HomeButtonView(
|
||||||
@@ -1155,7 +1164,7 @@ struct AbstractGamepadView: View {
|
|||||||
if isCommandSelected(GamepadWidget.ls.cmd) {
|
if isCommandSelected(GamepadWidget.ls.cmd) {
|
||||||
leftStickHighlight = .outerOnly
|
leftStickHighlight = .outerOnly
|
||||||
}
|
}
|
||||||
if isCommandSelected(GamepadWidget.lsPad.cmd) || isCommandSelected(GamepadWidget.lswheel.cmd) {
|
if isCommandSelected(GamepadWidget.lsPad.cmd) || isCommandSelected(GamepadWidget.lswheel.cmd) || isCommandSelected(GamepadWidget.lsvPad.cmd) {
|
||||||
leftStickHighlight = leftStickHighlight == .outerOnly ? .both : .thumbOnly
|
leftStickHighlight = leftStickHighlight == .outerOnly ? .both : .thumbOnly
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1214,7 +1223,7 @@ struct AbstractGamepadView: View {
|
|||||||
} else if leftStickHighlight == .outerOnly {
|
} else if leftStickHighlight == .outerOnly {
|
||||||
leftStickHighlight = .none
|
leftStickHighlight = .none
|
||||||
}
|
}
|
||||||
case GamepadWidget.lsPad.cmd, GamepadWidget.lswheel.cmd:
|
case GamepadWidget.lsPad.cmd, GamepadWidget.lswheel.cmd, GamepadWidget.lsvPad.cmd:
|
||||||
if leftStickHighlight == .both {
|
if leftStickHighlight == .both {
|
||||||
leftStickHighlight = .outerOnly
|
leftStickHighlight = .outerOnly
|
||||||
} else if leftStickHighlight == .thumbOnly {
|
} else if leftStickHighlight == .thumbOnly {
|
||||||
|
|||||||
@@ -1277,6 +1277,7 @@ struct WidgetPickerView: View {
|
|||||||
"DPAD",
|
"DPAD",
|
||||||
"LSWHEEL",
|
"LSWHEEL",
|
||||||
"LSPAD",
|
"LSPAD",
|
||||||
|
"LSVPAD",
|
||||||
"RSPAD",
|
"RSPAD",
|
||||||
"RSVPAD",
|
"RSVPAD",
|
||||||
"RSWHEEL",
|
"RSWHEEL",
|
||||||
@@ -1314,6 +1315,10 @@ struct WidgetPickerView: View {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cmd == "LS", poolItems.contains(where: { $0.cmd == "LSPAD" || $0.cmd == "LSVPAD" }) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2293,7 +2298,7 @@ struct WidgetPickerView: View {
|
|||||||
"HOME",
|
"HOME",
|
||||||
"DPAD",
|
"DPAD",
|
||||||
"OSCUP", "OSCDOWN", "OSCLEFT", "OSCRIGHT",
|
"OSCUP", "OSCDOWN", "OSCLEFT", "OSCRIGHT",
|
||||||
"LS", "LSWHEEL", "LSPAD",
|
"LS", "LSWHEEL", "LSPAD", "LSVPAD",
|
||||||
"RS", "RSPAD", "RSVPAD", "RSWHEEL",
|
"RS", "RSPAD", "RSVPAD", "RSWHEEL",
|
||||||
"LB", "RB",
|
"LB", "RB",
|
||||||
"LT", "LTPAD",
|
"LT", "LTPAD",
|
||||||
|
|||||||
Reference in new issue
Block a user