Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Keyboard2Xinput (Virtual X360 pads from keyboard)  (Read 92331 times)

0 Members and 1 Guest are viewing this topic.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Keyboard2Xinput (Virtual X360 pads from keyboard)
« on: August 17, 2018, 02:46:12 pm »
Hi, I have a IPAC2, and though it works quite well with emulators, it's a pain with recent Windows games that only support XInput. I tried quite a lot of solutions (only one working was UCR, but it's quite a pain to configure), but nothing was as simple as the old x360-like dll plus a mapping file.
I had been following Nefarius' ViGEm Bus Driver (https://github.com/ViGEm/ViGEmBus), and in february began implementing some software with it. After quite a bit of fiddling, I had something working. Fast forward 6 months and I finally got around to polishing it a bit and making a public release, so here it is: https://gitlab.com/SchwingSK/Keyboard2Xinput.

I'm not going to copy/paste the whole documentation here, but here are the highlights:
  • simple mapping file as configuration (one key = one button/axis)
  • creates as many pads as you want (not tested but should work with IPAC4 or any other keyboard encoder)
  • lightweigt (fast startup)
  • discreet (no splashscreen)
  • supports passing mapping file as argument if you need different mappings for different games
  • support for a toggle on/off key so that if you need your keyboard in-game you can have access to it
  • open source so that anyone can submit merge requests/fork the project

I've tested it on Windows 7 & 10. On my two pcs, it has been quite stable, BUT: this is my first time coding in C#, I tried to follow conventions, but I'm sure I made lots of beginner mistakes, so keep that in mind if it misbehaves/doesn't work

Any comments are welcome, I'll TRY to address issues, but my experience in C# is limited, so no promises ;)

Important note: please make sure to read installation instructions. Keyboard2Xinput in itself only requires unzipping but it depends on ViGEm (releases) and CAN'T work without it.
Please note that as of 2019/04/18, ViGEm now has an installer, making installation much simpler!

Latest version download

Version history:
1.2.2 (2021/10/15)
- add pollInterval - allows Mortal Kombat XI, Injustice 2 and the like to correctly register simultaneous button inputs

1.2.1 (2020/05/21)
- add multiple mappings support
- add sample mappings (Thanks Angryherbalist for the IPAC4 mapping)
- add sample AutoHotKey scripts (Thanks MartyKong for the Pac-Man Museum example)
- generate html doc & include it in the release zip
1.2.0 (2019/07/12)
- add option to start disabled - Issue #4
- add distinct keys to enable/disable - Issue #5
1.1.1 (2019/04/10)
- Tray icon doesn't disappear when program exits - Issue #2
- Confusing behavior when ViGem is not installed - Issue #3
download

1.1.0 (2019/04/08)
- thumb sticks support added by SpaceNinja
- added small delay between controllers creation to get consistent controller order (SpaceNinja again!)
download

1.0.0 (2018/08/17)

initial release
« Last Edit: October 15, 2021, 06:41:29 am by Schwing »

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #1 on: August 23, 2018, 03:01:37 pm »
Thanks for sharing this.  I'll give it a try tonight and see if I'm lucky and it helps me with this issue.
"The Manuel"

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #2 on: August 23, 2018, 08:51:34 pm »
Schwing:

I must congratulate you on this piece of software.  I found it easy to install and very simple to use.  I will use it to retrofit all my fighting games if vjoy ever stops working.  I also like how the ini file uses xbox controller button names which makes the mapping easier.

Alas, it did not resolve my problem with Injustice 2 but this is in no way the fault of your program.  That game apparently refuses to work well with keyboards, no matter how the inputs are translated. 

If ever you become interested in that game and use your software to enable your control panel, make sure to check that button double presses work correctly, particularly light attack + heavy attack, which equates to the throw function.  If you manage to find a solution I would be very interested in it.

Best regards and thanks again for posting this here.
"The Manuel"

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #3 on: August 24, 2018, 08:55:56 am »
Yay, my first user!

Thanks TheManuel for taking the time to test it and reporting back! Really happy to see you found it useful :)
Too bad for Injustice 2. I don't have that game, but I have added it to my waitlist, so when its price drops a bit more, I'll buy it & report back.

Quote
thanks again for posting this here.
Well, my account doesn't show this, but I've been a long (LONG) time lurker here, and found so many great knowledge & ideas here when I finally started making my bartop (one day I'll summon the courage to do a full report of what I learned in the process). It feels nice giving back a little.

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #4 on: August 24, 2018, 09:04:45 am »
Well, my account doesn't show this, but I've been a long (LONG) time lurker here, and found so many great knowledge & ideas here when I finally started making my bartop (one day I'll summon the courage to do a full report of what I learned in the process). It feels nice giving back a little.

Rest assured, you have already done more for this community on your second post than I have as a member since 2002.  If I had your application and the supporting driver when I started adding modern fighting games to my cab, I would have used it as it is simple to set up and run, but I've set up so many already that it would be a drag to go back and retrofit all my installations.

It is nice to see that this forum keeps going and participation hasn't completely fizzled, even as original arcade goers like me are now into our 40's and 50's.  Somehow the arcade concept refuses to completely die off.  It would have done so long ago if not for emulation, of course.
"The Manuel"

neohusky

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:March 25, 2022, 09:10:44 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #5 on: November 23, 2018, 07:28:27 am »
WOW!
What a find. I can’t wait to try this out in the usual Steam games as well as injustice 2.

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #6 on: November 25, 2018, 10:46:03 am »
  • simple mapping file as configuration (one key = one button/axis)
Hello, again.

I started migrating all my PC games from vjoy to this app and so far, so good.  I just wonder if your comment above implies that it is not possible to map one keyboard key to two xinput buttons.  This is not something I was using in my vjoy setup but would be a nice bonus.

Also, very minor but, in your computer, does the tray icon persist after you close the app?  It does in mine.

Regards.
"The Manuel"

getnbizzy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:April 15, 2022, 06:47:36 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #7 on: January 08, 2019, 07:48:10 pm »
Schwing:

I must congratulate you on this piece of software.  I found it easy to install and very simple to use.  I will use it to retrofit all my fighting games if vjoy ever stops working.  I also like how the ini file uses xbox controller button names which makes the mapping easier.

Alas, it did not resolve my problem with Injustice 2 but this is in no way the fault of your program.  That game apparently refuses to work well with keyboards, no matter how the inputs are translated. 

If ever you become interested in that game and use your software to enable your control panel, make sure to check that button double presses work correctly, particularly light attack + heavy attack, which equates to the throw function.  If you manage to find a solution I would be very interested in it.

Best regards and thanks again for posting this here.

I don't have injustice 2 so i'm not much help there, but have you tried blocking the specific keys that you have mapped? I'm thinking the game is seeing both your keyboard inputs as well as dinput/xinput inputs simultaneously. I think vjoy has an option to block the keystrokes, so if you haven't already i'd start there. If the game works fine with game controllers then it has to be related to the mixture of xinput and keystrokes. If vjoy doesn't block the keys then maybe there's a way to run a batch along with the game exe. Just my 2 cents. Good luck.

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #8 on: January 09, 2019, 08:23:15 am »
I don't have injustice 2 so i'm not much help there, but have you tried blocking the specific keys that you have mapped? I'm thinking the game is seeing both your keyboard inputs as well as dinput/xinput inputs simultaneously. I think vjoy has an option to block the keystrokes, so if you haven't already i'd start there. If the game works fine with game controllers then it has to be related to the mixture of xinput and keystrokes. If vjoy doesn't block the keys then maybe there's a way to run a batch along with the game exe. Just my 2 cents. Good luck.

It's a good lead but, while I'm slowly converting my fighting games to keyboard2xinput, I'm still using vjoy for Injustice 2 with key blocking and everything, and the problem is still there.  In fact, that is what let me to this other method after trying a couple of others.  They all have the same issue with this game so I don't think it is related to key blocking.
"The Manuel"

getnbizzy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:April 15, 2022, 06:47:36 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #9 on: January 09, 2019, 10:19:21 am »
Quote
It's a good lead but, while I'm slowly converting my fighting games to keyboard2xinput, I'm still using vjoy for Injustice 2 with key blocking and everything, and the problem is still there.  In fact, that is what let me to this other method after trying a couple of others.  They all have the same issue with this game so I don't think it is related to key blocking.
Another thing I read yesterday that vjoy key blocking doesn't work on windows 7 or vista. Hopefully someone figures it out soon because I too would like to have this game. Right now I'm testing the new keyboard encoder from xgaming. It has xinput and dinput modes and works great in the pc games I've tested so far. Andy really needs to update the ipac to do this too. Another thing you can try is the paclink adapter that connects to your ipac and then makes it a dinput(maybe xinput cant remember) usb controller. I know of some people that prefer to use the ipac this way instead. Good luck.

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #10 on: January 09, 2019, 12:50:44 pm »
Yes, that's correct; vjoy's key blocking did not work for me when I had Windows 7 but started working when I migrated to Windows 10.  My i-Pac setup works fine for my and keyboard2xinput is a painless enough solution for my few PC games, it's just Injustice 2 that is giving me these issues.  It's strange that it's "sister game" MKX doesn't have it as well, so they've probably changed their input handling code.
"The Manuel"

getnbizzy

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:April 15, 2022, 06:47:36 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #11 on: January 09, 2019, 02:33:47 pm »
Hi, I have a IPAC2, and though it works quite well with emulators, it's a pain with recent Windows games that only support XInput. I tried quite a lot of solutions (only one working was UCR, but it's quite a pain to configure), but nothing was as simple as the old x360-like dll plus a mapping file.
I had been following Nefarius' ViGEm Bus Driver (https://github.com/ViGEm/ViGEmBus), and in february began implementing some software with it. After quite a bit of fiddling, I had something working. Fast forward 6 months and I finally got around to polishing it a bit and making a public release, so here it is: https://gitlab.com/SchwingSK/Keyboard2Xinput.

I'm not going to copy/paste the whole documentation here, but here are the highlights:
  • simple mapping file as configuration (one key = one button/axis)
  • creates as many pads as you want (not tested but should work with IPAC4 or any other keyboard encoder)
  • lightweigt (fast startup)
  • discreet (no splashscreen)
  • supports passing mapping file as argument if you need different mappings for different games
  • support for a toggle on/off key so that if you need your keyboard in-game you can have access to it
  • open source so that anyone can submit merge requests/fork the project

I've tested it on Windows 7 & 10. On my two pcs, it has been quite stable, BUT: this is my first time coding in C#, I tried to follow conventions, but I'm sure I made lots of beginner mistakes, so keep that in mind if it misbehaves/doesn't work

Any comments are welcome, I'll TRY to address issues, but my experience in C# is limited, so no promises ;)
Thanks Schwing. This could be the next best thing since demulshooter. I was digging around github last night trying to figure out what was needed and found it a bit confusing. I kept getting an error when running keyboardxinput.exe and found that I didn't have my prerequisites. Any chance you'll be packaging the driver and the keyb2xinput files into a simple installer with instructions? I think it would really increase the number of people that would be willing to help test and debug this program.

branded

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:September 26, 2023, 01:41:59 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #12 on: January 13, 2019, 05:40:04 am »
Shwing,

Thanks for your efforts to this annoying issue.

Is there any possibility of your software to support 4 gamepads/players?


Thanks!

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #13 on: January 13, 2019, 09:28:22 am »
Shwing,

Thanks for your efforts to this annoying issue.

Is there any possibility of your software to support 4 gamepads/players?


Thanks!
The list of features on the first post states that you can create several virtual pads. 
Did you try it and it did not work?
"The Manuel"

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #14 on: January 28, 2019, 08:31:09 pm »
This is awesome! Wow, how is there no more talk of this?

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 805
  • Last login:August 07, 2020, 10:15:48 am
  • On and off hobbyist
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #15 on: January 28, 2019, 09:43:28 pm »
Hi, there.  I think this was a project for fun by Schwing and he might have lost interest by now, as I don't see any activity on his code page.  Regardless, it is a great tool to have and I'm really glad her shared it.
"The Manuel"

SpaceNinja

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:June 22, 2019, 07:17:10 pm
    • Keyboard2Xinput with thumb stick support
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #16 on: March 18, 2019, 11:31:45 pm »
Schwing thank you so much for this utility! It is exactly what I was looking for and works great with my ipac4. I wonder how we can get this pinned as a sticky others might find this program useful? Schwing I also made a clone of your git hub to add analog support. I have never used github before I hope I did it right. I am not that great of a programmer but if anyone needs axis support check out https://gitlab.com/TheSpaceNinja/Keyboard2Xinput/blob/master/README.md at least until Schwing adds analog support to the master branch.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #17 on: April 08, 2019, 08:03:05 am »
Hi all,

version 1.1.0 is out, with thumb sticks support (thanks SpaceNinja!).

Something must be wrong with my email notifications (or maybe all notifications were tagged as spam, I must look into this), as I came back here to announce a new version (thanks to a merge request by SpaceNinja!), and found out all the nice comments and requests here. This project is definitely not abandoned, though I don't have as much I time as Id like to :)
Also, since it worked exactly as I needed to, and I didn't receive (or rather thought so) any more feedback, I thought that interest was low. I don't lurk here as often as I did, so that explains a lot too.

By the way, that's exactly why it's open source: so others might improve upon it even if I don't maintain it anymore, I'm so glad that SpaceNinja took the time to do exactly that.
I'll try to answer the questions asked since my last chat with TheManuel in the next hours/days.


Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #18 on: April 08, 2019, 12:04:17 pm »
I just wonder if your comment above implies that it is not possible to map one keyboard key to two xinput buttons.  This is not something I was using in my vjoy setup but would be a nice bonus.
Unfortunately, it's not possible to map one keyboard key to two xinput buttons at the moment. I do not have any real use-case in mind for now, but I'm open to suggestions. Keep in mind that I'm quite attached to keeping this software simple with very focused goals. Adding this might lead to requests for macros, and this is definitely out of scope. But I'm open to suggestions (or merge requests) about cool use cases for this :)

Also, very minor but, in your computer, does the tray icon persist after you close the app?  It does in mine.
Yes, I have it too, minor but annoying. TBH I had forgotten about it as it's hidden when I use my bartop, but I've created issue #2 to not forget about it. When I find some time, I'll look into it.

Thanks Schwing. This could be the next best thing since demulshooter. I was digging around github last night trying to figure out what was needed and found it a bit confusing. I kept getting an error when running keyboardxinput.exe and found that I didn't have my prerequisites. Any chance you'll be packaging the driver and the keyb2xinput files into a simple installer with instructions? I think it would really increase the number of people that would be willing to help test and debug this program.
Thanks for the kind words, really happy that other people find it useful.
Sorry about the confusing error when ViGem is not installed, it's something I had in the back of my mind while coding, but forgot during the polishing phase. I've added a note in my first post about that, and created a bug report. The message in the logs should be explicit as to why the software crashed, and if possible display a message box pointing the user to ViGem's install instructions. I'll try to tackle that in the next few days.

As for the ViGem installer, it's out of my hands: I'm not the developer and lack the knowledge to do that. I suppose if anyone with the knowledge gets in contact with Nefarious, he would welcome an installer. As for now, someone on their forums created a Youtube video on how to install. This is really not my thing, but in case people  prefer videos, I've linked it too.
I'm well aware that's not as easy as using an installer (I wish there was one too), but I also have faith that anyone here can follow these instructions.

Is there any possibility of your software to support 4 gamepads/players?
As pointed out by TheManuel, it does support 4 players (more if you want to! although I THINK there's a limit of 8 XInput devices). Did you manage to make it work?

SpaceNinja, do you use the IPAC4 default configuration? If so, would you mind sharing your configuration file so that I can include it in the documentation?
« Last Edit: April 08, 2019, 01:41:48 pm by Schwing »

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #19 on: April 10, 2019, 09:36:32 am »
New version 1.1.1 is out (two releases in 2 days, don't get accustomed to that ;) )! This solves two issues that were reported here:
- Tray icon doesn't disappear when program exits - Issue #2
- Confusing behavior when ViGEm is not installed - Issue #3
download

For the tray icon, it now disappears correctly when exiting the program by right-clicking the icon and selecting 'Exit'. However, this did not solve the case where it's closed by AutoHotKey (that's how I use it), because AHK kills the process (I was using 'Process, Close, Keyboard2XinputGui.exe' as there's no Window), and I can't catch that to make the icon disappear.
So I went about it the other way: you can now configure a key that will exit the program. By using 'SendInput {NumpadMult}' (default configuration) with AHK, the icon disappears as expected.

As always, any feedback is welcome.

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #20 on: April 10, 2019, 10:50:02 pm »
This is an amazing utility! Glad to see you're back working on it! BTW, there's a video tutorial on YouTube

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #21 on: April 11, 2019, 05:20:21 am »
This is an amazing utility! Glad to see you're back working on it! BTW, there's a video tutorial on YouTube

Nice video, didn't know about it: did you make it? If so, thanks for taking the time to do this, and if not thanks for sharing :)
« Last Edit: April 11, 2019, 05:35:34 am by Schwing »

itadna

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:August 04, 2019, 06:52:58 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #22 on: June 02, 2019, 03:17:41 pm »
Hi! Today I was trying to set my "always in-progress" arcade cab and I was landed here... I was struggling with IPAC, vjoy, xbox360ce etc and here the solution!

I just tested few hours and I decided that it will worth the price for reconfiguring everything out from vjoy & co in place of this.

I have only one question/request (maybe already discussed but I was not able to find it):
is there a way for starting the app without enabling it? I'd like to have always on (auto loaded at startup) but not enabled, so everything should work as usual (keyboard/MAME) until I press the right button that will toggle the enable on (joy/xinput).

Thanks a lot for your effort!

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #23 on: July 04, 2019, 08:12:50 am »
Hi, sorry for the late response as usual (still don't receive notifications about forum posts, I really have to sort this out).

Nice idea about having the option to start it the 'enabled' option off, didn't think about it. It would make my own AutoHotKey simpler :)
I'll try to implement this in the near future (maybe this weekend but not too sure, I'll post the new version here when it's ready).

Thanks for the feedback, it's always nice to see that people find it useful !

odenmc

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:October 16, 2019, 04:25:22 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #24 on: July 10, 2019, 05:58:26 am »
This has made my life so much simpler. From taking 15-20 minutes to set up a game, to making it almost instantaneous.

Thank you very much for your work

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #25 on: July 12, 2019, 06:04:52 am »
New version 1.2.0, adding the option to start disabled, as suggested by itadna. also added distinct keys to enable/disable.

download version 1.2.0

For those that haven't checked ViGEm for a while (such as myself...), it now has an installer, so for those who were put off by the powershell install, it's now far simpler :)

@odenmc thanks, always nice to have some feedback!
« Last Edit: July 12, 2019, 06:50:20 am by Schwing »

itadna

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:August 04, 2019, 06:52:58 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #26 on: July 12, 2019, 05:57:15 pm »
Hi all and thanks to Schwing for the implementation.
Now I totally removed AHK (it's not needed anymore for this need): I will use the 'SHIFT" capability of IPAC for turning ON and OFF the xinput every time I need. Now it's just needed a keystroke to be sent for having the system working as needed. Maybe AHK can be used just for automatically having the mode change.

Thanks again for the wonderful and useful tool!
« Last Edit: July 13, 2019, 01:07:01 am by itadna »

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #27 on: July 13, 2019, 04:18:13 am »
Maybe AHK can be used just for automatically having the mode change.
That's actually what I'm doing :)
For example, I have two configs (I'm using Attract Mode as a front end) for steam and assign each config according to the game's friendliness towards keyboards, works great.

angryherbalist

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 4
  • Last login:December 01, 2019, 02:59:22 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #28 on: September 07, 2019, 11:24:15 pm »
This software is fantastic.

I have 2 issues so far.  I'm using IPAC4 and it is successfully set up to have 4 different xbox controllers.  I'm using a small utility to test to ensure all of the buttons are working, including the left stick/directional.

The following games work:
-PacMan Championship DX
-Spelunky
-Bastion
-Double Dragon Neon

My first problem is the device order changes, it seems.  If we reboot or whatever, sometimes Player 3 on my cabinet becomes Player 1, even though it is programmed as Pad 3.

My second problem is that it isn't really working reliably.  The following games don't even recognize the devices:
-Ultimate Marvel vs Capcom
-Marvel Alliance 2
-Gauntlet Slayer Edition
-Towerfall Ascension

I'm going to be trying others, but why would these games not recognize it if Windows thinks they are 4 distinct 360 controllers?

Thanks in advance!

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #29 on: October 02, 2019, 11:10:23 am »
Hey Schwing, I've come across a bit of a problem lately. It seems that the program doesn't respond to multiple simultaneous button presses. I only have a 6 button control panel so for games that support the use of multiple button presses simultaneously to performed an action, i.e. light + heavy attack = throw (as opposed to having a dedicated throw button), the program doesn't seem to work. I was wondering if this is something that can possibly be addressed in a future update? Thanks!

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:January 27, 2022, 07:29:31 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #30 on: October 03, 2019, 01:59:59 pm »
Thanks for this. Been waiting for something like this. However I cant get it to work. Installed everything following the YouTube guide above and added everything to Rocketluncher as the guide said. I’ve tried in Cuphead so far. When I open it up I get a error box message saying:
"Too many arguments. Usage keyboard2XinputGui (mappingfile)"

Please help me out.
« Last Edit: October 04, 2019, 08:08:39 am by Dainja »

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #31 on: October 04, 2019, 12:06:06 am »
Thanks for this. Been waiting for something like this. However I cant get it to work. Installed everything following the YouTube guide above and added everything to Rocketluncher as the guide said. I’ve tried in Cuphead so far. When I open it up I get a error box message saying “too many Arguments”. Please help me out.

Make sure that when you create the profiles you don't give them a long name.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:January 27, 2022, 07:29:31 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #32 on: October 04, 2019, 03:07:26 am »
Thanks, I named it Cuph.ini but I still get the:

 “Too many arguments. Usage keyboard2XinputGui (mappingfile)"

So I guess something is wrong in my mapping file? How do you insert LeftShift, Left Control and Left Alt the right way?

[startup]
enabled = true
[config]
Subtract = disable
Add = enable
Divide = enableToggle
Multiply = exit
[pad1]
Up = UP
Down = DOWN
Left = LEFT
Right = RIGHT
z = A
Shift = B
x = X
Space = Y
Alt = RB
Ctrl = LB
c = RT
p = LT
1 = START
2 = BACK

[pad2]
R = UP
F = DOWN
D = LEFT
G = RIGHT
w = B
e = A
q = Y
Left Bracket = X
s = RB
a = LB
Right Bracket = RT
m = LT
D6 = START
D2 = BACK
« Last Edit: October 04, 2019, 08:14:27 am by Dainja »

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #33 on: October 06, 2019, 12:47:10 pm »
My first problem is the device order changes, it seems.  If we reboot or whatever, sometimes Player 3 on my cabinet becomes Player 1, even though it is programmed as Pad 3.
Could you trt this version: https://kb2xi.schwingsk.net/1.2.0.1/Keyboard2XinputGui.exe : I have modified the timing between the creation of each pad. It's 5 seconds in this version (vs 1 second in the standard version); it's annoyingly long but it might explain why you get out of order pads. If this fixes your problem, I'l make a version with this delay configurable.
My second problem is that it isn't really working reliably.  The following games don't even recognize the devices:
-Ultimate Marvel vs Capcom
-Marvel Alliance 2
-Gauntlet Slayer Edition
-Towerfall Ascension

I'm going to be trying others, but why would these games not recognize it if Windows thinks they are 4 distinct 360 controllers?

Thanks in advance!
What versions of Ultmate Marvel vs Capcom are you using? I'm using the steam version, updated and it works just fine. Same for Gauntlet Slayer Edition. I don't have the other two  :(

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #34 on: October 06, 2019, 12:53:07 pm »
Hey Schwing, I've come across a bit of a problem lately. It seems that the program doesn't respond to multiple simultaneous button presses. I only have a 6 button control panel so for games that support the use of multiple button presses simultaneously to performed an action, i.e. light + heavy attack = throw (as opposed to having a dedicated throw button), the program doesn't seem to work. I was wondering if this is something that can possibly be addressed in a future update? Thanks!
Do you have an IPAC? That's what I have and I don't have this problem (example: Marvel vs Capcom 3 Ultimate: you need to press 2 buttons to switch characters): could you look in the game controler properties and try your buttons there? I have no problem pushing multiple at once:

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:January 30, 2024, 01:40:08 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #35 on: October 06, 2019, 12:58:29 pm »
Thanks, I named it Cuph.ini but I still get the:

 “Too many arguments. Usage keyboard2XinputGui (mappingfile)"

So I guess something is wrong in my mapping file? How do you insert LeftShift, Left Control and Left Alt the right way?
I didn't read your mapping, but it's got nothing to do with the error: you are supplying too many arguments to kb2xi, i.e. the command that should be sent is
Code: [Select]
Keyboard2XinputGui.exe mapping.ini, but you are doing something like this:
Code: [Select]
Keyboard2XinputGui.exe mapping.ini someOtherParamIs there an option in RocketLanucher to show exactly what command is being sent?

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #36 on: October 06, 2019, 01:19:42 pm »
Hey Schwing, I've come across a bit of a problem lately. It seems that the program doesn't respond to multiple simultaneous button presses. I only have a 6 button control panel so for games that support the use of multiple button presses simultaneously to performed an action, i.e. light + heavy attack = throw (as opposed to having a dedicated throw button), the program doesn't seem to work. I was wondering if this is something that can possibly be addressed in a future update? Thanks!
Do you have an IPAC? That's what I have and I don't have this problem (example: Marvel vs Capcom 3 Ultimate: you need to press 2 buttons to switch characters): could you look in the game controler properties and try your buttons there? I have no problem pushing multiple at once:

I will give it a try when I’m back home in about a week. Maybe only some games are affected, I have MvsC3 so I will try it as well.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:January 27, 2022, 07:29:31 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #37 on: October 07, 2019, 07:48:59 am »
Thanks, I named it Cuph.ini but I still get the:

 “Too many arguments. Usage keyboard2XinputGui (mappingfile)"

So I guess something is wrong in my mapping file? How do you insert LeftShift, Left Control and Left Alt the right way?
I didn't read your mapping, but it's got nothing to do with the error: you are supplying too many arguments to kb2xi, i.e. the command that should be sent is
Code: [Select]
Keyboard2XinputGui.exe mapping.ini, but you are doing something like this:
Code: [Select]
Keyboard2XinputGui.exe mapping.ini someOtherParamIs there an option in RocketLanucher to show exactly what command is being sent?



Thank you. I think I got it working now. However I cant assign controllers or activate player 2 in Cuphead? Any advice? Its like the game starts up in keyboard mode and the assign controller button in options is gray.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:January 27, 2022, 07:29:31 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #38 on: October 07, 2019, 08:43:58 am »
still no luck. I finally got two players showing up in Cuphead and Street Fighter V but the buttons is all wrong and most of them is not working at all.. Like you control Player 2 with joystick 1 and such. Very confuzing.
« Last Edit: October 07, 2019, 10:07:08 am by Dainja »

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 137
  • Last login:September 20, 2023, 07:35:08 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #39 on: October 07, 2019, 12:14:04 pm »
still no luck. I finally got two players showing up in Cuphead and Street Fighter V but the buttons is all wrong and most of them is not working at all.. Like you control Player 2 with joystick 1 and such. Very confuzing.

Your mappings are wrong, for example you have one of them set to ctrl but it should be LControlKey or RControlKey. I can help you with the correct syntax for all of the keys because I don’t use any special keys in my setup. Maybe Schwing can chime in with that.