@@ -106,6 +106,7 @@ public XInputControllerOSXState WithButton(Button button)
106106 [ StructLayout ( LayoutKind . Explicit ) ]
107107 internal struct XInputControllerWirelessOSXState : IInputStateTypeInfo
108108 {
109+ const ushort k_StickZeroValue = 32767 ;
109110 public static FourCC kFormat => new FourCC ( 'H' , 'I' , 'D' ) ;
110111
111112 public enum Button
@@ -125,20 +126,20 @@ public enum Button
125126 private byte padding ;
126127
127128 [ InputControl ( name = "leftStick" , layout = "Stick" , format = "VC2S" ) ]
128- [ InputControl ( name = "leftStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
129+ [ InputControl ( name = "leftStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
129130 [ InputControl ( name = "leftStick/left" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
130131 [ InputControl ( name = "leftStick/right" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1" ) ]
131- [ InputControl ( name = "leftStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
132+ [ InputControl ( name = "leftStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
132133 [ InputControl ( name = "leftStick/up" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
133134 [ InputControl ( name = "leftStick/down" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1,invert=false" ) ]
134135 [ FieldOffset ( 1 ) ] public ushort leftStickX ;
135136 [ FieldOffset ( 3 ) ] public ushort leftStickY ;
136137
137138 [ InputControl ( name = "rightStick" , layout = "Stick" , format = "VC2S" ) ]
138- [ InputControl ( name = "rightStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
139+ [ InputControl ( name = "rightStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
139140 [ InputControl ( name = "rightStick/left" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
140141 [ InputControl ( name = "rightStick/right" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1" ) ]
141- [ InputControl ( name = "rightStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
142+ [ InputControl ( name = "rightStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
142143 [ InputControl ( name = "rightStick/up" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
143144 [ InputControl ( name = "rightStick/down" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1,invert=false" ) ]
144145 [ FieldOffset ( 5 ) ] public ushort rightStickX ;
@@ -188,16 +189,17 @@ public XInputControllerWirelessOSXState WithDpad(byte value)
188189
189190 public static XInputControllerWirelessOSXState defaultState => new XInputControllerWirelessOSXState
190191 {
191- rightStickX = 32767 ,
192- rightStickY = 32767 ,
193- leftStickX = 32767 ,
194- leftStickY = 32767
192+ rightStickX = k_StickZeroValue ,
193+ rightStickY = k_StickZeroValue ,
194+ leftStickX = k_StickZeroValue ,
195+ leftStickY = k_StickZeroValue
195196 } ;
196197 }
197198
198199 [ StructLayout ( LayoutKind . Explicit ) ]
199200 internal struct XInputControllerWirelessOSXStateV2 : IInputStateTypeInfo
200201 {
202+ const ushort k_StickZeroValue = 32767 ;
201203 public static FourCC kFormat => new FourCC ( 'H' , 'I' , 'D' ) ;
202204
203205 public enum Button
@@ -217,20 +219,20 @@ public enum Button
217219 private byte padding ;
218220
219221 [ InputControl ( name = "leftStick" , layout = "Stick" , format = "VC2S" ) ]
220- [ InputControl ( name = "leftStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
222+ [ InputControl ( name = "leftStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
221223 [ InputControl ( name = "leftStick/left" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
222224 [ InputControl ( name = "leftStick/right" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1" ) ]
223- [ InputControl ( name = "leftStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
225+ [ InputControl ( name = "leftStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
224226 [ InputControl ( name = "leftStick/up" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
225227 [ InputControl ( name = "leftStick/down" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1,invert=false" ) ]
226228 [ FieldOffset ( 1 ) ] public ushort leftStickX ;
227229 [ FieldOffset ( 3 ) ] public ushort leftStickY ;
228230
229231 [ InputControl ( name = "rightStick" , layout = "Stick" , format = "VC2S" ) ]
230- [ InputControl ( name = "rightStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
232+ [ InputControl ( name = "rightStick/x" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
231233 [ InputControl ( name = "rightStick/left" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
232234 [ InputControl ( name = "rightStick/right" , offset = 0 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1" ) ]
233- [ InputControl ( name = "rightStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" ) ]
235+ [ InputControl ( name = "rightStick/y" , offset = 2 , format = "USHT" , parameters = "invert,normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5" , defaultState = k_StickZeroValue ) ]
234236 [ InputControl ( name = "rightStick/up" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0,clampMax=0.5,invert" ) ]
235237 [ InputControl ( name = "rightStick/down" , offset = 2 , format = "USHT" , parameters = "normalize,normalizeMin=0,normalizeMax=1,normalizeZero=0.5,clamp=1,clampMin=0.5,clampMax=1,invert=false" ) ]
236238 [ FieldOffset ( 5 ) ] public ushort rightStickX ;
@@ -280,10 +282,10 @@ public XInputControllerWirelessOSXStateV2 WithDpad(byte value)
280282
281283 public static XInputControllerWirelessOSXStateV2 defaultState => new XInputControllerWirelessOSXStateV2
282284 {
283- rightStickX = 32767 ,
284- rightStickY = 32767 ,
285- leftStickX = 32767 ,
286- leftStickY = 32767
285+ rightStickX = k_StickZeroValue ,
286+ rightStickY = k_StickZeroValue ,
287+ leftStickX = k_StickZeroValue ,
288+ leftStickY = k_StickZeroValue
287289 } ;
288290 }
289291}
0 commit comments