From 1ab05fd2e211a402f0dccabcfdc68905dc9540d8 Mon Sep 17 00:00:00 2001 From: Remi Gillig Date: Thu, 7 Aug 2014 22:11:02 +0100 Subject: [PATCH] Add Guide button support (thanks benblo), and various fixes. --- .gitignore | 1 + Build/UpdateUnityProject.bat | 1 + README.md | 4 ++ XInputDemo/Program.cs | 4 +- XInputDotNetPure/GamePad.cs | 57 ++++++++++-------- XInputInterface/GamePad.cpp | 42 +++++++++++-- XInputInterface/XInputInterface.vcxproj | 4 -- XInputReporter/MainForm.Designer.cs | 14 +++++ XInputReporter/MainForm.cs | 1 + XInputReporter/ReporterState.cs | 6 +- .../Assets/Plugins/x86/XInputDotNetPure.dll | Bin 9728 -> 9728 bytes .../Assets/Plugins/x86/XInputInterface.dll | Bin 49664 -> 49664 bytes .../Plugins/x86_64/XInputDotNetPure.dll | Bin 9216 -> 9216 bytes .../Assets/Plugins/x86_64/XInputInterface.dll | Bin 54272 -> 54272 bytes .../XInputDotNet/Examples/XInputTestCS.cs | 2 +- .../Assets/XInputDotNet/MITLicense.txt | 21 +++++++ XInputUnity/LicenseError.jpg | Bin 0 -> 18073 bytes .../ProjectSettings/ProjectSettings.asset | Bin 19808 -> 24772 bytes XInputUnity/XInputInterface.dll | Bin 0 -> 49664 bytes 19 files changed, 120 insertions(+), 37 deletions(-) create mode 100644 XInputUnity/Assets/XInputDotNet/MITLicense.txt create mode 100644 XInputUnity/LicenseError.jpg create mode 100644 XInputUnity/XInputInterface.dll diff --git a/.gitignore b/.gitignore index 773afeb..be7055f 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ *.xcuserdatad *.orig *.meta +*.unityPackage obj/ Binaries/ XInputUnity/Library/ \ No newline at end of file diff --git a/Build/UpdateUnityProject.bat b/Build/UpdateUnityProject.bat index 702ed75..c69996e 100644 --- a/Build/UpdateUnityProject.bat +++ b/Build/UpdateUnityProject.bat @@ -7,6 +7,7 @@ if not exist ..\XInputUnity\Assets\Plugins\x86 md ..\XInputUnity\Assets\Plugins\ if not exist ..\XInputUnity\Assets\Plugins\x86_64 md ..\XInputUnity\Assets\Plugins\x86_64 copy ..\BinariesX86\Release\XInputInterface.dll ..\XInputUnity\Assets\Plugins\x86\ +copy ..\BinariesX86\Release\XInputInterface.dll ..\XInputUnity\ copy ..\BinariesX86\Release\XInputDotNetPure.dll ..\XInputUnity\Assets\Plugins\x86\ copy ..\BinariesX64\Release\XInputInterface.dll ..\XInputUnity\Assets\Plugins\x86_64\ diff --git a/README.md b/README.md index 60fcac4..cb93054 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,10 @@ Some examples are available in this repository : * Copy `[Project Folder]\Assets\Plugins\x86\XInputInterface.dll` to `[Project Folder]\XInputInterface.dll` * **Making a Build does NOT require to copy `XInputInterface.dll` in the same folder the your game .exe file** +**NOTE** : you may see this error message but it should still work as expected, the message won't appear in a Build + +![License Error Message](https://raw.github.com/speps/XInputDotNet/master/XInputUnity/LicenseError.jpg) + ### Notes * Under Windows XP, you'll need special drivers for your Xbox 360 Controller. You can find them at this address : [XBox 360 Controller for Windows Software](http://www.microsoft.com/en-us/download/details.aspx?id=34001) diff --git a/XInputDemo/Program.cs b/XInputDemo/Program.cs index 2c9a051..f019b48 100644 --- a/XInputDemo/Program.cs +++ b/XInputDemo/Program.cs @@ -14,7 +14,9 @@ static void Main(string[] args) Console.WriteLine("IsConnected {0} Packet #{1}", state.IsConnected, state.PacketNumber); Console.WriteLine("\tTriggers {0} {1}", state.Triggers.Left, state.Triggers.Right); Console.WriteLine("\tD-Pad {0} {1} {2} {3}", state.DPad.Up, state.DPad.Right, state.DPad.Down, state.DPad.Left); - Console.WriteLine("\tButtons Start {0} Back {1} LeftStick {2} RightStick {3} LeftShoulder {4} RightShoulder {5} A {6} B {7} X {8} Y {9}", state.Buttons.Start, state.Buttons.Back, state.Buttons.LeftStick, state.Buttons.RightStick, state.Buttons.LeftShoulder, state.Buttons.RightShoulder, state.Buttons.A, state.Buttons.B, state.Buttons.X, state.Buttons.Y); + Console.WriteLine("\tButtons Start {0} Back {1} LeftStick {2} RightStick {3} LeftShoulder {4} RightShoulder {5} Guide {6} A {7} B {9} X {9} Y {10}", + state.Buttons.Start, state.Buttons.Back, state.Buttons.LeftStick, state.Buttons.RightStick, state.Buttons.LeftShoulder, state.Buttons.RightShoulder, + state.Buttons.Guide, state.Buttons.A, state.Buttons.B, state.Buttons.X, state.Buttons.Y); Console.WriteLine("\tSticks Left {0} {1} Right {2} {3}", state.ThumbSticks.Left.X, state.ThumbSticks.Left.Y, state.ThumbSticks.Right.X, state.ThumbSticks.Right.Y); GamePad.SetVibration(PlayerIndex.One, state.Triggers.Left, state.Triggers.Right); Thread.Sleep(16); diff --git a/XInputDotNetPure/GamePad.cs b/XInputDotNetPure/GamePad.cs index 93beed0..4b6f720 100644 --- a/XInputDotNetPure/GamePad.cs +++ b/XInputDotNetPure/GamePad.cs @@ -3,13 +3,12 @@ namespace XInputDotNetPure { - class Imports { internal const string DLLName = "XInputInterface"; [DllImport(DLLName)] - public static extern uint XInputGamePadGetState(uint playerIndex, IntPtr state); + public static extern uint XInputGamePadGetState(uint playerIndex, out GamePadState.RawState state); [DllImport(DLLName)] public static extern void XInputGamePadSetState(uint playerIndex, float leftMotor, float rightMotor); } @@ -22,11 +21,11 @@ public enum ButtonState public struct GamePadButtons { - ButtonState start, back, leftStick, rightStick, leftShoulder, rightShoulder, a, b, x, y; + ButtonState start, back, leftStick, rightStick, leftShoulder, rightShoulder, guide, a, b, x, y; internal GamePadButtons(ButtonState start, ButtonState back, ButtonState leftStick, ButtonState rightStick, - ButtonState leftShoulder, ButtonState rightShoulder, ButtonState a, ButtonState b, - ButtonState x, ButtonState y) + ButtonState leftShoulder, ButtonState rightShoulder, ButtonState guide, + ButtonState a, ButtonState b, ButtonState x, ButtonState y) { this.start = start; this.back = back; @@ -34,6 +33,7 @@ internal GamePadButtons(ButtonState start, ButtonState back, ButtonState leftSti this.rightStick = rightStick; this.leftShoulder = leftShoulder; this.rightShoulder = rightShoulder; + this.guide = guide; this.a = a; this.b = b; this.x = x; @@ -70,6 +70,11 @@ public ButtonState RightShoulder get { return rightShoulder; } } + public ButtonState Guide + { + get { return guide; } + } + public ButtonState A { get { return a; } @@ -190,14 +195,16 @@ public float Right public struct GamePadState { + [StructLayout(LayoutKind.Sequential)] internal struct RawState { public uint dwPacketNumber; public GamePad Gamepad; + [StructLayout(LayoutKind.Sequential)] public struct GamePad { - public ushort dwButtons; + public ushort wButtons; public byte bLeftTrigger; public byte bRightTrigger; public short sThumbLX; @@ -226,6 +233,7 @@ enum ButtonsConstants RightThumb = 0x00000080, LeftShoulder = 0x0100, RightShoulder = 0x0200, + Guide = 0x0400, A = 0x1000, B = 0x2000, X = 0x4000, @@ -239,7 +247,7 @@ internal GamePadState(bool isConnected, RawState rawState, GamePadDeadZone deadZ if (!isConnected) { rawState.dwPacketNumber = 0; - rawState.Gamepad.dwButtons = 0; + rawState.Gamepad.wButtons = 0; rawState.Gamepad.bLeftTrigger = 0; rawState.Gamepad.bRightTrigger = 0; rawState.Gamepad.sThumbLX = 0; @@ -250,22 +258,23 @@ internal GamePadState(bool isConnected, RawState rawState, GamePadDeadZone deadZ packetNumber = rawState.dwPacketNumber; buttons = new GamePadButtons( - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.Start) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.Back) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.LeftThumb) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.RightThumb) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.LeftShoulder) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.RightShoulder) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.A) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.B) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.X) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.Y) != 0 ? ButtonState.Pressed : ButtonState.Released + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.Start) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.Back) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.LeftThumb) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.RightThumb) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.LeftShoulder) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.RightShoulder) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.Guide) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.A) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.B) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.X) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.Y) != 0 ? ButtonState.Pressed : ButtonState.Released ); dPad = new GamePadDPad( - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.DPadUp) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.DPadDown) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.DPadLeft) != 0 ? ButtonState.Pressed : ButtonState.Released, - (rawState.Gamepad.dwButtons & (uint)ButtonsConstants.DPadRight) != 0 ? ButtonState.Pressed : ButtonState.Released + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.DPadUp) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.DPadDown) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.DPadLeft) != 0 ? ButtonState.Pressed : ButtonState.Released, + (rawState.Gamepad.wButtons & (uint)ButtonsConstants.DPadRight) != 0 ? ButtonState.Pressed : ButtonState.Released ); thumbSticks = new GamePadThumbSticks( @@ -333,10 +342,8 @@ public static GamePadState GetState(PlayerIndex playerIndex) public static GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZone) { - IntPtr gamePadStatePointer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(GamePadState.RawState))); - uint result = Imports.XInputGamePadGetState((uint)playerIndex, gamePadStatePointer); - GamePadState.RawState state = (GamePadState.RawState)Marshal.PtrToStructure(gamePadStatePointer, typeof(GamePadState.RawState)); - Marshal.FreeHGlobal(gamePadStatePointer); + GamePadState.RawState state; + uint result = Imports.XInputGamePadGetState((uint)playerIndex, out state); return new GamePadState(result == Utils.Success, state, deadZone); } diff --git a/XInputInterface/GamePad.cpp b/XInputInterface/GamePad.cpp index 66d10e3..f2fb3fa 100644 --- a/XInputInterface/GamePad.cpp +++ b/XInputInterface/GamePad.cpp @@ -1,12 +1,46 @@ #include "GamePad.h" -DWORD XInputGamePadGetState(DWORD dwUserIndex, XINPUT_STATE *pState) +namespace { - return XInputGetState(dwUserIndex, pState); + typedef DWORD (*XInputGetStatePointer)(DWORD dwUserIndex, XINPUT_STATE* pState); + typedef DWORD (*XInputSetStatePointer)(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration); + + class XInputLoader + { + public: + XInputLoader() + : mHandle(0), mGetState(0), mSetState(0) + { + mHandle = LoadLibrary("xinput1_3.dll"); + + // Ordinal 100 is the same as XInputGetState but supports the Guide button. + mGetState = (XInputGetStatePointer)GetProcAddress(mHandle, (LPCSTR)100); + + mSetState = (XInputSetStatePointer)GetProcAddress(mHandle, "XInputSetState"); + } + + ~XInputLoader() + { + FreeLibrary(mHandle); + } + + XInputGetStatePointer mGetState; + XInputSetStatePointer mSetState; + + private: + HMODULE mHandle; + }; + + XInputLoader gXInputLoader; +} + +DWORD XInputGamePadGetState(DWORD dwUserIndex, XINPUT_STATE* pState) +{ + return gXInputLoader.mGetState(dwUserIndex, pState); } void XInputGamePadSetState(DWORD dwUserIndex, float leftMotor, float rightMotor) { - XINPUT_VIBRATION vibration = { (int)(leftMotor * 65535), (int)(rightMotor * 65535) }; - XInputSetState(dwUserIndex, &vibration); + XINPUT_VIBRATION vibration = { (int)(leftMotor * 65535), (int)(rightMotor * 65535) }; + gXInputLoader.mSetState(dwUserIndex, &vibration); } \ No newline at end of file diff --git a/XInputInterface/XInputInterface.vcxproj b/XInputInterface/XInputInterface.vcxproj index e42a2a8..01f2862 100644 --- a/XInputInterface/XInputInterface.vcxproj +++ b/XInputInterface/XInputInterface.vcxproj @@ -87,7 +87,6 @@ EditAndContinue - XInput.lib;%(AdditionalDependencies) true MachineX86 $(IntDir)\$(TargetName).lib @@ -103,7 +102,6 @@ ProgramDatabase - XInput.lib;%(AdditionalDependencies) true $(IntDir)\$(TargetName).lib @@ -119,7 +117,6 @@ ProgramDatabase - XInput.lib;%(AdditionalDependencies) false true true @@ -138,7 +135,6 @@ ProgramDatabase - XInput.lib;%(AdditionalDependencies) false true true diff --git a/XInputReporter/MainForm.Designer.cs b/XInputReporter/MainForm.Designer.cs index 348d539..7f2c122 100644 --- a/XInputReporter/MainForm.Designer.cs +++ b/XInputReporter/MainForm.Designer.cs @@ -62,6 +62,7 @@ private void InitializeComponent() this.timerStart = new System.Windows.Forms.Timer(this.components); this.picStickLeft = new System.Windows.Forms.PictureBox(); this.picStickRight = new System.Windows.Forms.PictureBox(); + this.checkGuide = new System.Windows.Forms.CheckBox(); ((System.ComponentModel.ISupportInitialize)(this.picController1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picController2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.picController3)).BeginInit(); @@ -411,12 +412,24 @@ private void InitializeComponent() this.picStickRight.TabIndex = 33; this.picStickRight.TabStop = false; // + // checkGuide + // + this.checkGuide.AutoSize = true; + this.checkGuide.BackColor = System.Drawing.Color.Transparent; + this.checkGuide.Enabled = false; + this.checkGuide.Location = new System.Drawing.Point(293, 263); + this.checkGuide.Name = "checkGuide"; + this.checkGuide.Size = new System.Drawing.Size(15, 14); + this.checkGuide.TabIndex = 34; + this.checkGuide.UseVisualStyleBackColor = false; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackgroundImage = global::XInputReporter.Properties.Resources.background1; this.ClientSize = new System.Drawing.Size(849, 472); + this.Controls.Add(this.checkGuide); this.Controls.Add(this.picStickRight); this.Controls.Add(this.picStickLeft); this.Controls.Add(this.label1); @@ -500,6 +513,7 @@ private void InitializeComponent() private System.Windows.Forms.Timer timerStart; private System.Windows.Forms.PictureBox picStickLeft; private System.Windows.Forms.PictureBox picStickRight; + private System.Windows.Forms.CheckBox checkGuide; } } diff --git a/XInputReporter/MainForm.cs b/XInputReporter/MainForm.cs index 049b401..3af7db2 100644 --- a/XInputReporter/MainForm.cs +++ b/XInputReporter/MainForm.cs @@ -79,6 +79,7 @@ private void UpdateState() checkY.Checked = reporterState.LastActiveState.Buttons.Y == XInputDotNetPure.ButtonState.Pressed; checkStart.Checked = reporterState.LastActiveState.Buttons.Start == XInputDotNetPure.ButtonState.Pressed; checkBack.Checked = reporterState.LastActiveState.Buttons.Back == XInputDotNetPure.ButtonState.Pressed; + checkGuide.Checked = reporterState.LastActiveState.Buttons.Guide == XInputDotNetPure.ButtonState.Pressed; checkStickLeft.Checked = reporterState.LastActiveState.Buttons.LeftStick == XInputDotNetPure.ButtonState.Pressed; checkStickRight.Checked = reporterState.LastActiveState.Buttons.RightStick == XInputDotNetPure.ButtonState.Pressed; checkShoulderLeft.Checked = reporterState.LastActiveState.Buttons.LeftShoulder == XInputDotNetPure.ButtonState.Pressed; diff --git a/XInputReporter/ReporterState.cs b/XInputReporter/ReporterState.cs index 1e30565..a3e0ee1 100644 --- a/XInputReporter/ReporterState.cs +++ b/XInputReporter/ReporterState.cs @@ -44,14 +44,16 @@ public bool Poll() } } - GamePad.SetVibration(playerIndices[lastActivePlayerIndex], 0.0f, 0.0f); - lastActivePlayerIndex = activePlayerIndex; if (LinkTriggersToVibration) { GamePad.SetVibration(playerIndices[lastActivePlayerIndex], LastActiveState.Triggers.Left, LastActiveState.Triggers.Right); } + else + { + GamePad.SetVibration(playerIndices[lastActivePlayerIndex], 0.0f, 0.0f); + } return changed; } diff --git a/XInputUnity/Assets/Plugins/x86/XInputDotNetPure.dll b/XInputUnity/Assets/Plugins/x86/XInputDotNetPure.dll index 1e7d4f41b941a1aaff7e9b71125aa9be113f32a1..1f51295000d2cb02bc5228bab9d3f034693f5987 100644 GIT binary patch delta 3870 zcma)cB>Yq~je`wIrmb;( zn}U|m+95tB0z*;CADD=3>0(DIOk-u73_~mShebyRi>-B-&JdM4En{iF=j=<|al%Y@ zW&L_gQ&y}>)GyFRi$>h z{mN0BT&1(E`dlKzJyAL@y-Y{4h*D~ddQEL^yIyJOX{phm`%}HrDbsyHBD3Z(ZA3F* zXfvA0jTJ=~Q%^Ia*&Ie1N4e!Nw;bnI;)~Ed2M%<{wBl#UanT&lOT_a%Kg$}PUmToJ zkVq)>5?Jy8q6rsMpH6KW20q9xLfEL?8q|5w5X_){Jd7qUTAnN_l0{{*m?6UPI?YTD zRV9lEgbwOHo+DbE5YnlSCz_tIvDV0+rSiP#6VA|7&by{?hMX8KW~u?|ilP5Z!f?4ye={s2g+H(UPyOMgA1?6ineOO7b}vMAocqVr+;UmmPUP|UHRU=#g0k!y%C0vE^YYeZ>MV+&wNrh0HBfJXt6oF~D2qV$uOGkHs z+vU4g)w-vBkvrF?5LG-uG=_H62fMXrN5}Suy1DyqJRkgMD^|7AUf9@Is#vmW={;zl zhu-Uk{Z+N7O(M-`F(1vr7nel1YD&jf<7?xK9id{k*WcjWX60Hoov@w*$Ao_qnl^h% zg>!`~gpUZHw7J&-;W6=y3dimD?ImQQcAMt-vVAtS3cGxqzfU+KeA)MR)Ie@SV6l^d zngc3>Hc}O;%)zFoKDe)OIyLi<8Uhasw`sOJg~#+U*l|4q zj_Q}dF?|C3t$rDNN56_)_?9sOI>rs~`-WCF?KLd$$HEs4zp@=V$qk(mzQOda^-UvH zwZ+~RUJ`yR%+>5K7Je$8FN6)^X%e;w+k|U`>xApUiSd2rDvaZ#N)r_3f)n8)a|6N^ z!a2g_<_H$Q4O|i1YAyzQg}Xui#Aqm#re@>nCset*jSOlDv3{!HcC`TOutwBQs1~SG zP9o@kUVW1?={KGl5p~W}aZ$hb)N7*N_0$DXmp%0tQCB?mnW#@a^&e5!J!NQ~Plxf) zMs5Cp$P_%0SOrC8iQ-Coka~+3>q0D-=6mWpq8dHbFKVf$_J~>`ibvUnew!yVe@OY% z5hkAhDgPeLvTHK+093!18qm*CAq{vcC~7b%vyhH>v3|sgY1mVHM4g<>JcC#sUK2du zW&H+j-!gt_u>4G)gPiFF4dZuEb)E_ue}J0nsRH97)FMyKFy4o17Bxh-n_E;FwM?oG zHJ!RV)oAWeVd_itlao+MJ6Sn2MElJFRY}La)R)Y?Y9{^4Q)i*7>Aa{xde1z71J;YT zDA6EYHIJ%#+UKc%nlGqZ;8$c=nluHigv}4$M%V@|6VGbJo_5fnEy`_~R^sf32+%<= z1@}8qD(-jgyaA7FjpqZWZUar+`|M|1dp755FF)CTOmf;};*FD~aB-afr3b}1l9Z_K zVF_=S4t-*OPon>?$D{%2%i}0Yj5Z`A3|L{}Td*4Z8CHrpU+6SSvsAc3xK_AX*a4nY zU1EP%*e@IaUsVUdU#lbF0vZ;7KP8oXi%4W3`sfo)8VHAwM*4eHoXfL(>PcmoJF6* zo+JJRWa&D(Tl}rU`)MXTozwz$Q#;s)vr?$I<~q$U==H)w!Xsb>QG;Y%{Kc_Z!#12aJEa1DT8O4C1k*@hmI^v#>52D^v>R&~z}5!eBmz)5w?s z7U4CnsRTz(Q>klZg?*YTX&&v0S7lvN)vRq?gWJr7fB*Nz_4XM_Nv*WWq5_3^_WHvZzx zQy20tUHjaP70s^lkq!hhG9xyAkp$AxkgBxpH|)$bllz#seW@^%>b_N!>;ARqZDqQ@ zEOxS%njxk97LeI)`E+I^;BGE?y_WE&wUxW!=B5&KOcz@Z`${j7Ok53C-H*{=aJhSqu8m#yI E4>h1mL;wH) delta 3880 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 yt4w>%`^*Q-2hEMVekO} delta 13816 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 pt+(#N?Dtrkt^2Jlq82)>UDo5)Q`T z=lT9F&+~hq=Xo!Ut%KHz*`A#x`$e-qC*jZa>?~_|elc)BULqjh3t-6uh$bSVK8@NnI`~6$0o+FI zJt3VF4Wk>~`70F^jvREj>@scW&T~)~<0--~Cfai!7CWIsn@IcWxQn$W7vt|V&-y?x`rJKFlW4Z4Li1N&Ujo8?9S(F57RBzNI<3DK)smD zjuw4>Epq3WCvOg0L6XhEAhKp9Gh?G(J6fDPc4DUzYtH**MQRW;v*1aaHNbmiMHa!^ zi&JMuOOl7-qhLjd)%x#hCBor&Y|Ysz(Q1ZCMZ zG{4>;%*$Jsp))Ch)=u%|TvfKwi%`3!QX6Ij8)##Yh}@FyV|M1!I=1L;oG0g2V7e(H zmgR^JpFm<{F$akJE6#XA61nH?qIBG4!S0}4PFMfiVs%IA+<(|b9kqxzx_w(B-08)A zWY?Iv4dpzA7bXG8DiP&Hpa@LEMHq>c&kVhJZjbK^s@6U2i`=|5NL2B4qA9dzeCW6J z?e2Q;zFtn>hwJmBt=QB?!{}pQsbck}wYQ-?3O($W`KxMCn|NB#Vm@lX50^x^YD&XT z<7eZC9ic+E-{0t5Z)ICHowA+*r-XkInl@XCg*ON{2pjd;ka1N2&e70?bT$W zcAFY}^L;k83444Te?T}Pe8KlVY9O~Uu*ykC%>k88+o=jwW?|EVP`lwyqa4Z;UsQZ~ zsGK9eEvf+5l?HWKBEz&$@{Wlrhca+to`nifHI#xnjl2LY^VF26l@3dka17F-W~dkj zz38cGYKxgFNVdIFt)li=i)sefgNp7Db_jO}9}qqy+$(%icu;s)ctrTLaGP!>M^Psl zMLUJvUOxs)w`Lwuqu|rRotpdI!f`#0eq2w0XY@&MN}mFMpc6nuV>x zcHw5>7U5QKW_+Ky3F9~^(u9QB;EcP#+y-}rutB)qoWSC@gBxP^n5)2k;XaW6Vl)~~ zRf}=;Gpbx&PX@JySwEh4qgsJ=*eq%fR4dfWPQvLws=h)Q^ixkwh&tz~xTs%y>Qzy1 zdg_9xOP>0ZsLP)ESkx6y{YTWlJY{H}PnY4LjoSPHkwH9>ScODoisDN95PF^G>wzzu zmU-%7QB9s26t&h<`$cUK#iQ&+UgvD&wkyRm1kUpTIs2U#@kRWqDJXPbB8LS)>+l1N~y7Y5J z7SMBE=t*-}Rnm_A(1n4jr#Qjc`g8QA5x8aek@qFOWouG+(pY7b& zUZ3N&7oTh&mzZ{$c>8QATpY)LWRMjV$zW0@;HhTqm9Z4 zLsl8_Em#eHA1lRNCUlylSu5Niyi?dI>;flMkMtiA4ho0Bm((HfCu$5_K_|o>kp3y~ zta_DR_FYi(uySd5gQijom`>}!^mp_d#J++oT}QWyy-j!*Rl?Futza*8fCD%y zb+m_e>2vCL%EXpfSOptv;G;~;nT6?d_!*F`cY%e%u&_qhC~OwC3fqO7gP`tUWjqd(r0yIRG6pI5Ic zzS!A!KehGj?n8Y>7{EtYaMy>K4>hdcHyC{Q=iSTx?ZyfgSNTW>0_hnM8($=W)Kr8j zZTk&7Bh};_6Sptrhf~~N6=b`AE_g$k?hgx{%(Z4%DZd3|bXY!}5ec}RML(-0{BzpI zX}Gzm2&t(n@WZF{m)dS?yM4*)?;bvWbj{@R-z{D~zWx1pYw?e@8`kyldEqO@{{Yvz BI$r<) delta 3816 zcma)7bGx_AP*A=Aryo_2o>8D0*0DN1d>f; zAg*^AHPT`15HC#u$I=dz0hAVvk0R7jaayE|wbef;t=2NFIQ20~)e)ux{hr_6#BC?e zG&B3T=kxph?s?pE@7+zZDcQ7Vm*(0N8QOiq6`ey=Xb0t7d%FmWJMAGcAlBO%ve6eL z@>OUxl9tbeX9qvT>{^k^@;F4svY zRR!!SpO?yqoVZezXIJ@fDxdGfm8v{D5otAknlI77AF3xJtyOQ#lA%O|EYh>&{ZWKM ziDGa}O422kE~V*GmM&A$Whz8w$$i6kLyH6V$%PvIXq5xR{l7_f^lL+ zqkZG1G7^R9eWz{6fZ7k2S&o{~>zcMH18PrPW(Bfw++0Rtvf6)aQfgn+mb*+d?Oe6* zsYo0dsQzsgCMaQb)B^byU+*$I-gU%1dO}#I%eG%Bj)lcI+FrDEOuiH=~); zh$qLyTzn?(YM)OUCX&Vk!%3?IZgbzyRkhz8x*3Pw*i!@JnL*n!Lbp^a zlU-PbwGjBU-sH$_sEi)Nl*~$1!1`J7sM;5d!T_EaUzg7)p&K_FU0r6i{gqMJR)uP< z%YB!r8gY~u6?%APi5kEuu=i#TK_NX~6Mi_)qO(&(vyc2WM0i%~+vC=bg}xdi9JSb(xe*(PFn8L$If8KF`>?+{xtOv8=zB+N@DOu)|IJTKkq*g3Yj zmQq~3Lr@ph!IJ3oqGKktBz55U_E!&1-^)XdV#Y?k*U(aIbakDp{L`J(0)Ym%=p&okd*x}=IvV7|kV zE6g&E%wX0r7cd)`jo@g{SG8s6;Y;RqCSE|x#?mgm73oZ75p%YF1Q)y>T$x<1&jZ&p z#>uxC;^&jGQC0v5gK=wYSws$(bE z&O3IR?T?O~XS?LspV=-u_A%Q(9s3vCRmZNeU3csznj7$rj_Q? zkdy0@kK;ky?^qw(;jzk7$bAx1OB(cCkgwt){nD{_U?;F@3F=Oy-!a7ey3ztV-_`QA(uFeVw0`tS&=nkKx4C7yXz(+ui(oK;-4rPEgR(y3364{=Q%_g@62 zMjRdY>j=tHbFjE*Dk!O%+qZGM9@PHth)zv>uIfins<&3|p~+QDv&0cm&a7q5X4W&U zC45-PT+3_+pA?gGx!(XU zy5ACippV>t6PdV{8Tg*`Qv(>FCFHT_usYCDnjk#%6a~POlm|Xb1>mnJ0-m8#@MS6o zU!!T@IhqMxz@Q#_ljebM(*p1!Ee7A?0shWCf51I|M9qkQ&hf7}{%^#+_+2F$u>U&f zA&=-mkzd>g2JlbAG@3vkf;lAQG@8VWksIwwj?bhJ+H*L*l-WYJBC?U%!7kbi#%UWk zKuLK?yf1WYj|;sT_%d}-%l5EX;@=uV=d44i~-W=Vxq4i?!t*~MbR$eirI3Oky+&i+B}ijjA7 zYlXObBrEhoG4gu2LD)}(BO@6TYlO9W`_>Lx)xWu~^WF~CZff6rcXtOZ?&wq2*t_Lk zCvr!7Z~UJ2Zffb=(XnC^)pvJq+1RwWd&>sIn)`ZJZ^19L{*8V8y&ZH%d*40O($m|A zCE>}6@}cv&b4FxpaM@G;Sa508MRz%QUfA*7HTI^0DN|e|z21BSzfQbo z<1KK?MS4^Sj|&K{HArN)1>0RDJlSp7@O+O!vM@ip&2Ve^ z-k@pM6rQcZzp5>&E4&D(5Z%q4gAaZOu4-v$De}MMKixWg;r@&FmCS9ZJw6hh{E{5W Ij9%6L1Dsn%Q2+n{ diff --git a/XInputUnity/Assets/Plugins/x86_64/XInputInterface.dll b/XInputUnity/Assets/Plugins/x86_64/XInputInterface.dll index 85689237c4fe8a19fff3965fda562aa09a2081e3..b79be8270fd02cae2fa1e8a1799ed582ff10c55a 100644 GIT binary patch delta 15705 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 VE33<@H&mBb*HqWlPCEOp{9jjz6c+#h delta 15638 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 diff --git a/XInputUnity/Assets/XInputDotNet/Examples/XInputTestCS.cs b/XInputUnity/Assets/XInputDotNet/Examples/XInputTestCS.cs index 4a7ac98..fe594bd 100644 --- a/XInputUnity/Assets/XInputDotNet/Examples/XInputTestCS.cs +++ b/XInputUnity/Assets/XInputDotNet/Examples/XInputTestCS.cs @@ -61,7 +61,7 @@ void OnGUI() text += string.Format("IsConnected {0} Packet #{1}\n", state.IsConnected, state.PacketNumber); text += string.Format("\tTriggers {0} {1}\n", state.Triggers.Left, state.Triggers.Right); text += string.Format("\tD-Pad {0} {1} {2} {3}\n", state.DPad.Up, state.DPad.Right, state.DPad.Down, state.DPad.Left); - text += string.Format("\tButtons Start {0} Back {1}\n", state.Buttons.Start, state.Buttons.Back); + text += string.Format("\tButtons Start {0} Back {1} Guide {2}\n", state.Buttons.Start, state.Buttons.Back, state.Buttons.Guide); text += string.Format("\tButtons LeftStick {0} RightStick {1} LeftShoulder {2} RightShoulder {3}\n", state.Buttons.LeftStick, state.Buttons.RightStick, state.Buttons.LeftShoulder, state.Buttons.RightShoulder); text += string.Format("\tButtons A {0} B {1} X {2} Y {3}\n", state.Buttons.A, state.Buttons.B, state.Buttons.X, state.Buttons.Y); text += string.Format("\tSticks Left {0} {1} Right {2} {3}\n", state.ThumbSticks.Left.X, state.ThumbSticks.Left.Y, state.ThumbSticks.Right.X, state.ThumbSticks.Right.Y); diff --git a/XInputUnity/Assets/XInputDotNet/MITLicense.txt b/XInputUnity/Assets/XInputDotNet/MITLicense.txt new file mode 100644 index 0000000..32f0aa2 --- /dev/null +++ b/XInputUnity/Assets/XInputDotNet/MITLicense.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2009 Remi Gillig + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/XInputUnity/LicenseError.jpg b/XInputUnity/LicenseError.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57d98ed14c5e44efec52953ef60d5e8f79cb2cf8 GIT binary patch literal 18073 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 KiUH|n`hNj7x3{1G literal 0 HcmV?d00001 diff --git a/XInputUnity/ProjectSettings/ProjectSettings.asset b/XInputUnity/ProjectSettings/ProjectSettings.asset index 2c580ef415b52876a6c5bacdeb13515c6e09b6ca..988c3ea02371b08a0ee44e58b08ab4ca1e0cff73 100644 GIT binary patch delta 5376 zcmZvgd0+6}wrSEfO`1FDkzVu;J)xZTF2w+aa(I9e+SfMPCNW712=0P6;wtb% zMe)D`&s~*uJ=f(>aZyyn6Le9~UA(n;FN*BU_ay;#H-Eg${Jx+0&2N5hX5PGa=oa?E zPUcjp7N)3Fi(XKvR2p7(@qbmVyUtzJTeHqtp&2FWD^;rfTW8fKQbnT9)D@9KavQBfT2zedE^?(H`?uO*hUJjzWpk}EZV^hud4pVw^b)kZoiDUB7xD(jN0 ztWc?B(!nGx6{_v))rB-iok@*qBP$jf4XPdVlsb)fol2Y4Hdabct1DRO4UBMqeT@A1$u_MBPi>+aRxQ$%h^mCb5W%I}|%1T=dS!_OXE9TUD z20J?|UQ5X+U}vK?;#SkNjC6JmyqpU!3*coT?aZj67xg-FCnjNDYK?Ywe%!}IV=i07 zYc?7(W->2I4;me8F-ixGCf1FT)?}gQ3?^zwN~H0oY$jvo2TW$x%XMYO-)eHOKG1tj z7S@l_Z>B8fL#ftmVHcp(Z8p)j88*7!Y^HppiGoFX+HJP7K{{kEV17RC0v4cs)4$>-!cLU2f9TH)b=7z&^z7MKox&vtiInU|q_s?R1Y>Aukp-O0by7?bOqi zwrsWn>?L4-$5}UJ*&Xcnu&#u46~9{PX1k4D$|F}s`I0@0U51*-`X+~#QXD#VIWm6* zGJhp9e-*8ARI{sLUk&>;u&?1g<lM@?9)rLf#JaNvBEIX6a04vy4{Sh?u>?&Lih22?xJV1 z%h}z~??G5w5Z1j2%bVk1_i^4qH|Chw{d}2LvIoFE2=*bce*`N-& zrK2O+divaDW?P~D87&_}%fIjxJIGU+!XAhA1hgliJq7KYLOpvL+B4Ap3hh~FUly9# z-=J-Swq0n{l53(BqpfTwl;@y44`m-$g7yT;C^E5Kh)yiYDMi`rMbv^th3xOh?QZ1u zC5-F4A_sdJi>0tQkL{s`0vjzVE?}=jOD0`sAnX%64DQ^k)KKW41I1SM8XYapm-eb? zU40IFof`9vbf`o}kL8=zSF0&hVrFlEcvB(XiV^H>UUHD8)Xd%i@U8;vj{^q)Y%aC1 z_XI%K73%1=dLuo;|7YYUiEh|IF!f~y_5qxH2q)AwI*w33%4xKx%)~x|qbIpVINE;- zbu3DG%X8TgxcWqi=hJvRpP{ckWg1GW(6i40eW5^K#-XoJ+E_7K`daLoZW<|GPCmDt zeTPJDavRdWR~A5YYhFng+02$;I9S~k9PozweS_XUS(VJ0A5@gnn$LcO$9b&=_7h6W zTlH3fdwj!kV@US4^M?TVpTSdisfh%AEJkOZN;i4CFAN2S{5@#$i_*of@h*<@lEWby z%;=mG3IzL?b@B$C-bg=I*l!s031!eK+FGB>7;P=fGzh*qFgO_IPZ+TjB|21=&qmSF zaW0l1I4UR?6T+#u2HNQjhlBkgZ&*eXenWW^HJT*DwMMwkh`a9cDa%|7Fa=;Ld@rsL zzLCUEZ^%2?)w?tvvJP}QXg%B-gj;K{T8xb6T7|(+4LAp| z3vjN0d7k-+z~2++^1$VTD*#t0I8(4%xqBkf9m>!~11$nt475a`_81yZNAzBof-eJK z4!%P0S@Fd6%$CDAo`mD!xM};ud^QGcD$%Bjw=q(BMf zfz|;X3v~6E9Dbq`T0Olw#>K`H8*e1*BpsVT`pR5>niKVkJhj+RX+!Pu_0>l04DX;a zi5k$d5nh{wS9+|D-xDLPsM4?&h^-LY&}BRAtjVDdD%EM8KwqG$wi1(ID!2}C)4-j1 zI#;i79&ppa%>Xwu&hZ0dSZtPJF?52P1#UKiGSu^+Qt41liZ-6RIiTi(ng?(5xwlgC z)THsllt{?g(9VH&F4xAg1+XuK{XE#uN1N5PDO5ONIi=SXu%39rX4JX(fk=4jMTk%Q>ae84UMb|J6=J0d6B>Oq#e}EB%9sO9ESOcGE`^87 z;NkLk!|pMkT(r zg0-B+#sXajd_5c!9B=qPa5Ul@0N)7sCcqm7Y(TWaeU!Ty+%4cXfxA_3>2VH`-UjM+ zPctd^iDIq=}NSf7l z9tEosHF1@;wOu7F8F5Q2h^=UFX*(L6B1e0E9CGf|^Jt__L)*sbXv0*#Wu#J9y^SBM z#A4Wn0c^)ecVG`XQt#jgtDQ}@EWDacmwS9egSbuofhE{$#Od`pL1co6N7Z#I@Vo$= z0Os?z$^UWi0M=%lN z$MF46`2H7s@0z6N2QNO(f?>Hk5(p`8#dH1qeYIN-hvlBmfuTO1Ka45*37mY24n9K% z{DGkD@kYFmKZpDU`uGxke1$$fo0P}CM$&U8=d*7>jet4|>RV1Z==c;ZRZdRQopvzz z4)FJYe*pYr6iz?6h5rQTXF&f3bSw%v*e}q2g?1d;Z!rg{jYE-sK4S5#I3X}eC5hv- z#3W)hE=iJT~_-t8<%; zlI3J|O|wn1#;OI9EmqXhs1~DSm*`=)h1@L`$sti&OPl1B#3@+Hl&FROWl7{~EvJN5 zyOga6If~#CLbH^s81ockzCb~@CaNR~FMRGWjIA~#?YyJ8ksxWgIiIo z;3W!Ps^DcYJVO&bCzVT-TOGR}ZiN~Xqq3w*#Y>gqrCR8@)spfGAa)TZzTWX4z63@1 zy7#wtc6G|3L0?!LAi{V}s701?Ay4;pi-UQq|1zYk zn6XM2lf<8sc6B(U$-H4lp5`9@p>Y)t zlYeTMW~TCK8);-(vH18%)-!if@0nAn#iOUn!~`1P<)@~l(jreSxuzx422VK!xow9h lfig!W({4|;u&Y;|A%?BOJL#{Uv$!oGm4D$>6~U}h{RdB86@>r* delta 4314 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 literal 0 HcmV?d00001