csutorasa / xoutput Goto Github PK
View Code? Open in Web Editor NEWDirectInput to XInput wrapper
License: MIT License
DirectInput to XInput wrapper
License: MIT License
Great work, a save button on the gamepad config screen and/or the main screen would be more intuitive, than hiding it on the toolbar
The configuration dialog needs a 'Bind all inputs' that go through all the inputs in a timed manner, if the timer runs out, unassigned input. will make much easier and quicker to configure new gamepads.
The title is the Controller Setting windows is not modified.
While modifying your code to invert LY and RY axis for Switch Pro Controller support, I fixed this tiny error:
XOutput/UI/View/ControllerSettings.xaml:9
Title="{Binding Model.Title}" Width="800" Height="800" MinWidth="800"
Thanks for this great software!
Hello! What about vibration support? It isn't working. I hope you solve this problem. Thx for nice emulator of X360 gamepad.
In Metro 2033 Redux GOG, the analog stick set to control movement (either RS or LS, configurable ingame) sticks and the player auto-walks, which makes controlling the game difficult. After moving in a direction with LS and releasing LS, the player will keep walking slowly in that direction until another button is pressed or an input on RS, at which point this movement stops.
First of all, thank you very much for this software. I'm using it on an arcade cabinet and a virtual joystick (the arcade machine uses an ipac controller that simulates keyboard inputs). The virtual joystick device is always hidden so the "show all devices" checkbox needs to be activated to automatically start the emulation of this controller. Could you implement that the show all devices checkbox is active when starting the XOutput program? Maybe the checkbox status could be saved in the setting file.
Many thanks in advanced and many thanks for your efforts.
Hi csutorara
I tried Dualshock4 with strikepack
Strikepack is Dualshock4 accessory (http://collectiveminds.ca/strikepack/)
Button mapping is perfect but there's no vibration even vigem driver installed
So I tried dualshock4 alone again but still no vibration
I really love the program so far, and testing it encountered, a gamepad (Genius G12U) that uses a slider for RY, yes instead of an axis they used a slider, don't know why they did that, but i have disabled it for now.
Hello I want to thank you for this wonderful little magical program that you create all works perfectly except the vibration of my controllers Dualshock 2 can you give me a hints anything so that I get vibrations THANKS YOU !!!
Hello!
I am using a few legacy controllers with Xoutput, such as a Sega Saturn one with a Mayflash USB adapter. Such controllers have less buttons than a Xinput one - for instance there are not Back or Guide buttons on the Saturn one for reasons obvious.
Unfortunately some modern games still expect all Xinput buttons to be used in some way, and sometimes there are no easy workaround. In most case, the buttons still are rarely used, meaning it's okay if there are not easily accessible on a controller but on a side keyboard. So I'd like to map a few buttons to a regular keyboard in addition to the gamepads, to make up for the lack of them on a controller.
Would that be possible to implement? Thanks!
I have the setting enabled to hide the program entirely, but it still appears in the Alt Tab menu and makes it difficult to tab between multiple programs. Any way to completely hide it and leave it running in the background?
Hi, first of all i wanted to tanks all People who developed this program! Its very cool!
I tried the last 2 months to Play Forza with my old Logitech Formula Force RX.
First i tried with x360ce, it recognizes the Logitech Wheel, but not in Game.
Than i tried XOutput.v0.11, it works well, but had the "Camera Stuck" Bug, because i could not set the Axis 2 to "Disabled" (there was no option for that)
And now i try your XOutput 3.7.1. It works fine! BUT i got two Problems:
When i in game and choose the "inside car" view, i rotate the wheel and the wheel in game start rotate to late. They are (+15°) - (-15°) degree that the game not recognize. But in the XOutput menu, i can see the red dot clearly move in the sector between (+15°) - (-15°). When i set the "dead zone" in XOutput it gets worse.
PS: I recognize that this effect does not occur in XOutput.v0.11
There is a delay of about 0.5 seconds, like: I turn the wheel, 0,5 seconds, than the car wheels turn.
I dont know what it is.
PS: I am from germany (But can also speak russian and can help with german translation) and yes i know my english my English is not the best :)
Hi,
It seems as though this application is missing some trigger functionality of a DirectInput controller.
Using this website: http://html5gamepad.com/
I can see that the triggers of my DirectInput controller are recognized as Axis 4 and Axis 5.
However, it seems as though these axes are not handled in the program, as I do not see any feedback when I press the triggers (In the program on the left side, A7 and A8 seem to be unused, as nothing on my controller shows any response. Perhaps there can be functionality to replace those axes with any directinput axes of the user's choosing).
I have only briefly looked at the code, so I am not sure whether the problem lies in a missing mapping to an enum in DirectInputTypes, or if the axes are only missing in the UI.
I will clone the repo and investigate when I have the time, and will send a pull request if I figure out the issue.
Thanks
To whom it may concern,
I noticed if the source controller is being read as not having a dpad, I'm not able to map the Xoutput dpad at all, whereas a different fork of XOutput allows me to do so with no issues.
For reference, I have a 3DS receiving input through vJoy, which is being fed to Xoutput
Thanks
Currently disabled axis stay left-down
Some gamepads don't have analogs, but they aren't required to play some games
I've tested vibration yesterday. It works perfectly for my cheap and crappy gamepad OKLICK GP-310M (tested games: Castlevania LoS 2, Sonic All-Stars Racing, Wonderboy The Dragon's Trap).
Is it possible to hide real DirectInput device from game? Without hiding some games (for example FIFA, Mortal Kombat) try to detect gamepad via DirectInput, that's why all don't works correctly (double input).
I've read that hiding real device in such project as InputMapper (for DualShock 4) is realised via ViGEm HidGuardian and HidCerberus,Srv.
Many thanks for your titanic work!
It would be helpful for less experienced users to have visual indications.
I've made some vector graphics (based on a public domain image)
tell me if you are interested, i could give you the svgs or the rasterized pngs if you prefer (i need the output resolution to render them)
I did the vector work, but needs the logic switch
<Path Name="DPADUp" StrokeThickness="0.9381389" StrokeLineJoin="Miter" StrokeStartLineCap="Flat" StrokeEndLineCap="Flat">
<Path.Fill>
<MultiBinding Converter="{StaticResource ColorConverter}" ConverterParameter="DPAD-U">
<Binding Path="Model.XInputType"/>
<Binding Path="Model.Highlight"/>
</MultiBinding>
</Path.Fill>
<Path.Data>
<PathGeometry Figures="m 278.39198 584.60884 10.02407 0.47315 c 0 0 3.02501 1.18289 3.55885 4.14008 0.3926 2.17485 1.29601 9.59713 3.4402 13.8397 1.2707 2.51426 3.06993 4.20009 5.39445 6.50583 l -46.4417 0.28585 c 2.01667 -1.53775 5.93334 -5.13566 6.1706 -7.50141 0.23724 -2.36576 1.27668 -15.66563 2.1946 -15.67317 0.75429 -0.68261 1.3873 -0.88065 1.97255 -1.18955 0.98426 -0.5195 3.56264 -0.656 6.86526 -0.70306 4.15197 -0.0591 6.82112 -0.17742 6.82112 -0.17742 z" FillRule="NonZero"/>
</Path.Data>
</Path>
<Path Name="DPADLeft" StrokeThickness="0.9399935" StrokeLineJoin="Miter" StrokeStartLineCap="Flat" StrokeEndLineCap="Flat">
<Path.Fill>
<MultiBinding Converter="{StaticResource ColorConverter}" ConverterParameter="DPAD-L">
<Binding Path="Model.XInputType"/>
<Binding Path="Model.Highlight"/>
</MultiBinding>
</Path.Fill>
<Path.Data>
<PathGeometry Figures="m 262.86331 645.87177 c 0 0 -2.15138 -4.52127 -8.08598 -6.06426 -5.93461 -1.54301 -17.09167 -0.23739 -20.41504 -1.78038 -3.32339 -1.543 -5.57853 -4.39161 -5.81592 -6.88414 -0.23739 -2.49254 -1.30561 -11.15706 -0.83084 -11.86922 0.47476 -0.71215 2.72992 -4.98507 4.03554 -5.10376 1.3056 -0.1187 19.22811 -2.13646 21.24587 -3.67945 2.01777 -1.54301 6.25598 -5.18383 7.50364 -7.65347 z" FillRule="NonZero"/>
</Path.Data>
</Path>
<Path Name="DPADRight" StrokeThickness="0.93870533" StrokeLineJoin="Miter" StrokeStartLineCap="Flat" StrokeEndLineCap="Flat">
<Path.Fill>
<MultiBinding Converter="{StaticResource ColorConverter}" ConverterParameter="DPAD-R">
<Binding Path="Model.XInputType"/>
<Binding Path="Model.Highlight"/>
</MultiBinding>
</Path.Fill>
<Path.Data>
<PathGeometry Figures="m 296.3577 604.71718 c 0.71119 0.59265 3.81294 5.16587 6.65765 5.52145 2.84471 0.35559 21.92795 3.08177 23.11325 4.14853 1.18529 1.06677 2.96323 5.68942 2.96323 5.68942 l 0.23705 11.49735 c 0 0 -0.71117 3.55589 -1.77794 4.14853 -1.06675 0.59265 -20.74264 2.48912 -20.74264 2.48912 0 0 -6.27135 1.47163 -7.47361 4.71192 z" FillRule="NonZero"/>
</Path.Data>
</Path>
<Path Name="DPADDown" StrokeThickness="0.94216943" StrokeLineJoin="Miter" StrokeStartLineCap="Flat" StrokeEndLineCap="Flat">
<Path.Fill>
<MultiBinding Converter="{StaticResource ColorConverter}" ConverterParameter="DPAD-D">
<Binding Path="Model.XInputType"/>
<Binding Path="Model.Highlight"/>
</MultiBinding>
</Path.Fill>
<Path.Data>
<PathGeometry Figures="m 305.10327 638.73247 c -0.002 2.6e-4 -5.21719 1.69616 -6.00922 5.02696 -1.0707 3.45003 -3.21211 17.72606 -4.16383 18.67778 -0.95175 0.95174 -2.26037 2.97418 -4.99661 3.33107 -2.73624 0.35692 -16.1795 0.59485 -16.1795 0.59485 0 0 -4.99661 -1.0707 -6.18627 -2.73624 -1.18967 -1.66554 -4.16385 -16.41743 -4.16385 -16.41743 0 0 -1.20455 -5.34044 -8.98809 -7.50285 z" FillRule="NonZero"/>
</Path.Data>
</Path>
I tried to connect my Nintendo Switch JoyCon to my PC using the JoyCon-Driver made by mfosse (https://github.com/mfosse/JoyCon-Driver), and using vJoy to map the pair of JoyCon into one controller. But when I try to map it into an Xbox controller, XOutput doesn't seem to be recognizing buttons 21 to 32, as shown in the following pictures.
I have tested that all the buttons are recognized by the system's game controller settings, as well as by vJoy. Also all the button mappings for buttons 1 - 20 and the axes are working fine.
I am using vJoy 2.1.8.38-190417 and JoyCon driver v0.9, which should be the latest version for both. I'm also using the latest XOutput v2.0.
Hi ! I would like to play Forza (7 or Horizon 3) with a Microsoft 360 Wireless Wheel.
I can configure my steering wheel in Xoutput, but when I click on "Start" nothing happens.
I do not know if it's using Xinput or DirectInput, that may be the problem, but I did not find any solution.
Thanks!
The original Xoutput had the exclusivity checkbox to disable the original dinput controller, but it was only fixed in the source code and never released as an actual release. Is there any way to activate exclusivity in this one? I can't seem to find it. Dead Rising 1 recognizes both real dinput controller and xinput emulated controller.
The reason why I want to emulate it as a x360 controller is because dinput keeps showing numbers instead of actual Xbox buttons, which keeps QTE's very difficult to perform. Thanks in advance.
after installing vigem, xoutput program still crash at launch.
tried oldest version/newest and the inbetween, same issue. here are the .log file.
2018-07-23 05:03:57.051 +08:00 ERROR MainWindowViewModel.UnhandledException: System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Hardcodet.Wpf.TaskbarNotification.TaskbarIcon' that matches the specified binding constraints threw an exception. ---> System.MissingMethodException: Method not found: 'Int32 System.Runtime.InteropServices.Marshal.SizeOf(!!0)'.
at Hardcodet.Wpf.TaskbarNotification.Interop.NotifyIconData.CreateDefault(IntPtr handle)
at Hardcodet.Wpf.TaskbarNotification.TaskbarIcon..ctor() in c:\git\OSS\notifyicon-wpf\Hardcodet.NotifyIcon.Wpf\Source\NotifyIconWpf\TaskbarIcon.cs:line 134
--- End of inner exception stack trace ---
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
vigem bus installed : https://imgur.com/a/E84rMTA
i m new to github and using xoutput. please help.
edit: fixed the issue by installing dot net 4.5.2 .
when connecting over bluetooth this works fine
but when connecting over the wire(1st party cable even) if Steam is running
its like most of the buttons is rapid pressing and some is rapid pressing
and some others is held down forever
even without im touching the controller
but when connecting without steam is running Xoutput see the pro controller but dont register the inputs at all
will be neat if this can be fixed somehow
since i just got a Nswitch pro controller
want it to use both on PC(as Xinput) and over wire & nintendo switch over wireless
so i dont have to reconnect the controller each time im changing from PC to switch & visa versa
and i know Steam add a form of support to Nswitch pro controller and its not really usefull outside steam like emulators + Steam dont convert it into Xinput sadly
and the nice thing about convert every controller to Xinput+this program is
no matter what controller i plugin i dont have to Reconfig the emulator´s/game´s settings
since i use my mayflash usb gamecube adapter(PC mode) for some emulators/games
and Nswitch pro controller for also emulators/some other games and both at same time if multiplayer
In XOutput 3.9, for some reason, it breaks. It didn't happen before on 3.8.1. Here's the output on XOutput.txt
2018-05-03 17:46:57.844 -04:00 INFO LanguageManager.set_Language: Language is set to English
2018-05-03 17:46:57.844 -04:00 INFO MainWindowViewModel.Initialize: Loading settings was successful.
2018-05-03 17:46:58.282 -04:00 INFO GameController.createXOutput: ViGEm devices are used.
2018-05-03 17:46:58.282 -04:00 INFO MainWindowViewModel.RefreshGameControllers: Mayflash Arcade Stick(9fcdd800-449a-11e8-8004-444553540000) is connected.
2018-05-03 17:46:58.282 -04:00 INFO GameController.createXOutput: ViGEm devices are used.
2018-05-03 17:46:58.282 -04:00 INFO MainWindow.WindowLoaded: The application has started.
2018-05-03 17:47:00.092 -04:00 INFO MainWindowViewModel.VersionCompare: Version is up-to-date
2018-05-03 17:47:00.342 -04:00 INFO MainWindowViewModel.SaveSettings: Saving settings was successful.
2018-05-03 17:47:03.222 -04:00 ERROR MainWindowViewModel.UnhandledException: System.Windows.Markup.XamlParseException: Se produjo una excepción al establecer la propiedad 'System.Windows.Controls.ContentControl.Content'. ---> System.ArgumentException: cannot be translated
en XOutput.UI.Converters.DynamicLanguageConverter.Convert(Object[] values, Type targetType, Object parameter, CultureInfo culture)
en System.Windows.Data.MultiBindingExpression.TransferValue()
en System.Windows.Data.MultiBindingExpression.Transfer()
en System.Windows.Data.MultiBindingExpression.UpdateTarget(Boolean includeInnerBindings)
en System.Windows.Data.MultiBindingExpression.AttachToContext(Boolean lastChance)
en System.Windows.Data.MultiBindingExpression.AttachOverride(DependencyObject d, DependencyProperty dp)
en System.Windows.Data.BindingExpressionBase.OnAttach(DependencyObject d, DependencyProperty dp)
en System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
en System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
en MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
en MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
--- Fin del seguimiento de la pila de la excepción interna ---
en System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
en System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
en System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
en System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
en XOutput.UI.Windows.AutoConfigureWindow.InitializeComponent()
en XOutput.UI.Windows.AutoConfigureWindow..ctor(AutoConfigureViewModel viewModel, Boolean timed)
en XOutput.UI.Component.MappingViewModel.Configure()
en XOutput.UI.Component.MappingView.ConfigureClick(Object sender, RoutedEventArgs e)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
en System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
en System.Windows.Controls.Primitives.ButtonBase.OnClick()
en System.Windows.Controls.Button.OnClick()
en System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
en System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
en System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
en System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
en System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
en System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
en System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
en System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
en System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
en System.Windows.Input.InputManager.ProcessStagingArea()
en System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
en System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
en System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
en System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
It would be very good if it were possible to adjust the dead zones of sticks.
Can you make it so if you have the keyboard enabled as a controller, make these inputs not work as keyboard-detected? I don't know if I'm explaining well, but see, some games like Melty Blood, detect certain motions weirdly in my keyboard, but as a controller it inputs them well.
Hello I've experienced a problem where force feedback or vibration works in games that only support directinput like ( need for speed underground 1 ) but in the same when I try to play a game that supports xinput like Dirt3 my controller doesn't vibrate at all
Update: Just tried another game (JustCause2) which also supports xinput and the vibration actually worked but was acting weird it just alters the speed from super low to really high randomly, sometimes it would be really high even though I'm just standing and not doing anything
Update2: tried another directinput game Need for speed Most wanted (2005) and this time vibration didn't work.
I don't really know what's wrong maybe it's something on my end? I'm sorry if this seems pointless to you
I've been trying to open XOutput but it freezes and then crashes after a few seconds. I have both ViGEm and ScpToolkit, I've tried restarting after installing both and adding and removing ViGEm buses multiple times.
This is the log
2018-04-28 23:49:27.939 -05:00 INFO LanguageManager.set_Language: Language is set to English 2018-04-28 23:49:27.955 -05:00 INFO MainWindowViewModel.Initialize: Loading settings was successful. 2018-04-28 23:49:27.970 -05:00 ERROR MainWindowViewModel.UnhandledException: System.DllNotFoundException: Unable to load DLL 'vigemclient.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at Nefarius.ViGEm.Client.ViGEmClient.vigem_alloc() at Nefarius.ViGEm.Client.ViGEmClient..ctor() at XOutput.Devices.XInput.Vigem.VigemDevice.IsAvailable() at XOutput.UI.Windows.MainWindowViewModel.Initialize() at XOutput.UI.Windows.MainWindow.<WindowLoaded>d__7.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
with those 2 options combined
all i would need to do to convert my controller/other non Xinput controllers into a Xinput one
is plug them in my PC without need to open a program/press a start button each time i want to play a game with gamepad
Please forgive me if I have misunderstood the purpose of XOutput.
As far as I can tell, XOutput is supposed to convert inputs from generic controllers and emulate Xbox controller inputs with them?
I am using a Tesun USB-706 generic Dualshock2-type USB controller. I have set up all the buttons, triggers and joysticks as the corresponding Xbox controls, but it seems to work only within XOutput - the DirectInput and XInput sensors in the Edit menu light up correctly, but once I start a game, no Xbox controllers are detected.
This has been tested on Terraria and Vagante, both of which natively support Xbox controllers, with no success. I have tested it on my Win7 laptop (using the default ScpToolkit driver - I'm stuck on Windows PowerShell 2.0 for some reason and cannot find a manual way to install the ViGEm driver, which is a pain and a half to install), with the aforementioned results.
When my brother tested XOutput with the ViGEm driver on his Win10 laptop (comes with the required PowerShell 5.0), it still didn't work in-game, but on the windows desktop, it glitched out, with options in the Start menu constantly cycling, as if an arrow key was being held down.
TL;DR - Tesun USB-706 generic Dualshock 2 seems to work within XOutput, but does not work at all in-game. Using the ViGEm driver only makes things worse.
Any suggestions?
PS. Is csutorasa's XOutput at all related to Stents-'s Xoutput (see https://github.com/Stents-/XOutput/releases)? I didn't have any luck with Stents-'s version, either - it was impossible to tell how to map the analog sticks, and it froze Win7 when it tried to install the custom driver.
Utilizing a thrustmaster Ferrari legend edition wheel, the throttle pedal (A6) does not show up under direct input, but an unresponsive or non input A3 does show up; Similar to issue Missing Trigger Detection #32
I used the suggestion from Dinput sliders support #11, I edited the settings text (R2=Axis6,100,0,0) to include mapping A6 to RT which can be seen in above Screenshot. A6 (Throttle pedal) does indeed map to RT, but only updates when a natively XOutput listed direct input is changed. The delay until another input is made is clearly seen under the XInput, or noticed while gaming. No delay until input is detectable in HTML5 Gamepad Tester, XOutput .11, Thrustmaster setup, or games compatible with this wheel. Certainly makes for an exciting driving experience when the throttle is stuck full open until you turn the steering wheel, lol. This may be what Dead Zone Issuses #37 was experiencing as .5 second delay? Oddly, using HTML5 Gamepad tester http://html5gamepad.com/, Axis 5 (throttle A6) maps to B7.
Note: XOutput.11 seemed to recognize all inputs properly, but non mapped analog outputs created other more severe problems.
Since SCPToolkit has been deptrecated, a consideration should be made to use the new VIGEm framework, also developed by @nefarius, especifically ViGEmBus
First time, thx, really
Possible activate controller when open application ?
Not need press start (actually if you close application, all stop, so...)
Like this, we launch a game and can launch XOutPut at the same time and close it when leaving the game
Hello, I have an Android wireless gamepad that does not use a USB dongle, I only connected it with bluetooth, my computer recognizes all the buttons, however the program does not recognize the mapping of the Axes and Dpads
Do you think it's possible to have 2 Xbox controlers with a Keyboard
like this
WASD /JKLUIOP --> P1
UDLR / 1234567 --> P2
The directional boxes are nice, great work, but shouldn't they show the actual output?
To have the correct directions i have to invert LY and RY which is normal, but the new boxes show as inverted output.
Checked in game and with xinputest.exe
Currently the buttons come preassigned with button 1, since all of the dinput gamepads that i have don't have a '13' button to assign to the home button i have been doing a workaround using axis 5 which isn't used in any of them, please make the default config unassigned/nil
Hello, and than you for this awesome program!
Unfortunately on my side the rumble function is not working for some reason.
I have a Playstation SCPH-110 controller, and connected with a cheap eBay Sony to USB converter (recognized as "Twin USB joystick").
Drivers are installed, and under the default windows 10 x64 built in program called "Game controllers/Properties/Vibration test" it's working properly.
ViGEm is installed, and recognized by xoutput. Under diagnostics force feedback motors count 4. And green mark say okay.
Any idea whats wrong?
First thx for v3.3
Do you think it's possible to have a tray minimize or hidden.
hello, the XOutput presents a problem when it closes and turns open changes the order of the joystick example at the moment is the joystick # 1 but when it becomes open and loads the controllers switches joystick # 2 are left for games as the second player I use a convert from ps2 to usb pad I mention this problem because sometimes I use the joytokey and it always changes the order
thanks for your great job
i need assign left stick on dpad, because i have a arcade stick and no detect a dpad but i have a left stick and the game need a dpad
sorry my english is bad :)
Vibration is not working in games but force feedback is working
Ok, so my gamepad is a custom Dinput GameCube USB controller (USB Network Joystick in device manager)
Everything works except for vibration function, in XOutput the test option is vibrating normally but in games - not. Windows 10 x64 newest update. Maybe because the original dinput gamepad driver is 32 bit?
Hi, trying to use a generic gamepad with Hollow Knight. Everything seems fine until controller stops working randomly for some seconds, then comes back, goes off again and again.
Could you add Russian locale, please? I can help with it because I'm from Russia. How can I do it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.