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 --- Bug Reports --- 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 10731 times)

0 Members and 1 Guest are viewing this topic.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
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.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: May 21, 2020, 09:21:07 am by Schwing »

TheManuel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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:Yesterday at 05:12:42 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 28
  • Last login:March 03, 2019, 10:41:13 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 28
  • Last login:March 03, 2019, 10:41:13 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 28
  • Last login:March 03, 2019, 10:41:13 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: 11
  • Last login:April 02, 2019, 07:50:47 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 104
  • Last login:June 01, 2020, 07:27:18 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: 788
  • Last login:September 08, 2019, 04:06:27 pm
  • 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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 104
  • Last login:June 01, 2020, 07:27:18 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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 104
  • Last login:June 01, 2020, 07:27:18 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:April 30, 2020, 04:12:26 pm
  • 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: 104
  • Last login:June 01, 2020, 07:27:18 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:April 30, 2020, 04:12:26 pm
  • 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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 23
  • Last login:May 25, 2020, 10:25:58 am
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: 104
  • Last login:June 01, 2020, 07:27:18 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:April 30, 2020, 04:12:26 pm
  • 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:April 30, 2020, 04:12:26 pm
  • 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: 104
  • Last login:June 01, 2020, 07:27:18 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.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #40 on: October 07, 2019, 03:46:41 pm »
I finally made it work in Cuphead! Many hours later. Something is still causing the game hiccups though. Itís like jump and shot is being pressed at the same time and I donít understand why. They are totally different keys both in the mapping and in the game assign controller setup and only if I start the game via Rocket Launcher. Works good without RL... weird.

Im VERY thankful for Schwigs work so far though. A true hero!
« Last Edit: October 07, 2019, 03:48:44 pm by Dainja »

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #41 on: October 11, 2019, 06:33:07 am »
I finally made it work in Cuphead! Many hours later. Something is still causing the game hiccups though. Itís like jump and shot is being pressed at the same time and I donít understand why. They are totally different keys both in the mapping and in the game assign controller setup and only if I start the game via Rocket Launcher. Works good without RL... weird.
Strange... kb2xi doesn't allow multiple instances, so it should behave the same way regardless of context of execution. Does RocketLauncher have some kind of key remapping in its features that you would have accidentally enabled?

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #42 on: October 14, 2019, 09:45:17 am »
I donít know but Iím 100% sure that Joy2Key interferes with Keyboard2Xinput. When I kill Joy2Key everything works perfect. The problem is that Hyperspins menues seams to be mapped via Joy2Key so I canít disable it. Anyone have a good solution for this?

I want to kill Joy2Key when I open up a PC Game with Keybors2Xinput and I want it start again when I exit a PC Game.

Option two would be to disable Joy2Key completely but then Hyperspin menues and some other games wonít work :(
« Last Edit: October 16, 2019, 03:54:24 am by Dainja »

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #43 on: October 14, 2019, 08:18:31 pm »
Just wanted to say thank you, your program is great.
So far i got it working with every game.
Some older games require a small delay before starting, otherwise it won't detect the second controller.
One such game is injustice.
Using rocketlauncher/ahk it's quite simple to add a 1.5 second delay.
I'm guessing that for 4 controllers you will need to add a longer delay.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #44 on: October 15, 2019, 01:53:39 pm »
I finally made it all work. For me the problem was Joy2Key. I disabled it completely and everything works perfect. Iím so happy for this program Schwing! You sort of made my dream come true. To be able to play Cuphead 2 players on arcade. Do you accept donations?

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #45 on: October 17, 2019, 07:19:16 am »
I finally made it all work. For me the problem was Joy2Key. I disabled it completely and everything works perfect. Iím so happy for this program Schwing! You sort of made my dream come true. To be able to play Cuphead 2 players on arcade. Do you accept donations?
The real question that needs to be asked here is, why are you using Joy2Key in the first place if you have an IPAC?

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 104
  • Last login:June 01, 2020, 07:27:18 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #46 on: October 17, 2019, 07:41:02 am »
I finally made it all work. For me the problem was Joy2Key. I disabled it completely and everything works perfect. Iím so happy for this program Schwing! You sort of made my dream come true. To be able to play Cuphead 2 players on arcade. Do you accept donations?
The real question that needs to be asked here is, why are you using Joy2Key in the first place if you have an IPAC?

Unfortunately some games like SFV donít allow mapping keyboard keys for player 2. I know the IPAC has game pad capabilities but I remember having issues with it. Iíve been meaning to revisit that.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #47 on: October 17, 2019, 07:54:16 am »
Some older games require a small delay before starting, otherwise it won't detect the second controller.
One such game is injustice.
Using rocketlauncher/ahk it's quite simple to add a 1.5 second delay.
I'm guessing that for 4 controllers you will need to add a longer delay.
Interesting; just to confirm, you run kb2xi, wait 1.5 seconds, then start Injustice?
I remember some old games that didn't detect pads if they were connected after the game had started, but I haven't encountered such a case on the games I play on my bartop setup. Maybe I should add that to the troubleshooting section. Doy you know of other games that need that delay?

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #48 on: October 17, 2019, 08:54:41 am »
I finally made it all work. For me the problem was Joy2Key. I disabled it completely and everything works perfect. Iím so happy for this program Schwing! You sort of made my dream come true. To be able to play Cuphead 2 players on arcade. Do you accept donations?
The real question that needs to be asked here is, why are you using Joy2Key in the first place if you have an IPAC?

Unfortunately some games like SFV donít allow mapping keyboard keys for player 2. I know the IPAC has game pad capabilities but I remember having issues with it. Iíve been meaning to revisit that.
That doesn't answer my question. He is using Joy2Key, a program that converts joystick to keyboard, not the other way around, and he has a IPAC.
He has no use for joy2key, he only needs to use Keyboard2Xinput.

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #49 on: October 17, 2019, 08:57:25 am »
Some older games require a small delay before starting, otherwise it won't detect the second controller.
One such game is injustice.
Using rocketlauncher/ahk it's quite simple to add a 1.5 second delay.
I'm guessing that for 4 controllers you will need to add a longer delay.
Interesting; just to confirm, you run kb2xi, wait 1.5 seconds, then start Injustice?
I remember some old games that didn't detect pads if they were connected after the game had started, but I haven't encountered such a case on the games I play on my bartop setup. Maybe I should add that to the troubleshooting section. Doy you know of other games that need that delay?
Yes, that's exactly what i did. If i don't add the 1.5 second delay the game won't detect the second controller.
So far this has only happened with injustice, but i'm guessing this will happen with more older games, since this was the behavior with those old games.
I should also point out that i'm running the games from an ssd drive, so loading is almost instantaneous.
« Last Edit: October 17, 2019, 09:05:07 am by Foxhole »

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 104
  • Last login:June 01, 2020, 07:27:18 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #50 on: October 17, 2019, 09:12:01 am »
I finally made it all work. For me the problem was Joy2Key. I disabled it completely and everything works perfect. Iím so happy for this program Schwing! You sort of made my dream come true. To be able to play Cuphead 2 players on arcade. Do you accept donations?
The real question that needs to be asked here is, why are you using Joy2Key in the first place if you have an IPAC?

Heís using Joy2Key because you can tell he bought a preconfigured drive from someone and they have that running for Xbox controller use.
Unfortunately some games like SFV donít allow mapping keyboard keys for player 2. I know the IPAC has game pad capabilities but I remember having issues with it. Iíve been meaning to revisit that.
That doesn't answer my question. He is using Joy2Key, a program that converts joystick to keyboard, not the other way around, and he has a IPAC.
He has no use for joy2key, he only needs to use Keyboard2Xinput.

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #51 on: October 23, 2019, 04:15:51 am »
I play a lot of Mortal Kombat 11. With Keyboard2Xinput and arcade sticks. However, you need the right stick on the Xbox controller to be able to move in the Krypt. Any solution?

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #52 on: November 17, 2019, 05:01:19 pm »
Teknoparrot emulated racing games does not work with keyboard. Only Xbox controllers. Would it be possible to make a Keyboard2Xinput for Teknoparrot (Sega Ringedge) games?

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #53 on: November 21, 2019, 05:24:11 pm »
This post should be in the Sticky.
Who do you need to contact to get this post up in the Sticky?
Btw, BlazBlue Cross Tag Battle also needs a delay, it seems it doesn't support hotswap, probably a directinput game.
« Last Edit: November 21, 2019, 06:04:41 pm by Foxhole »

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #54 on: November 23, 2019, 05:20:20 am »
Teknoparrot emulated racing games does not work with keyboard. Only Xbox controllers. Would it be possible to make a Keyboard2Xinput for Teknoparrot (Sega Ringedge) games?
I haven't tried Teknoparrot yet, that's strange. If it supports XInput it should work with Keyboard2Xinput, so maybe they do something nonstandard (I believe they run in some kind of virtual environment to protect their code, so maybe that's the culprit?). I'll have a look but no promises :)

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #55 on: November 23, 2019, 08:53:58 am »
Hi again Dainja, I just tried TeknoParrot with Initial D 7, and had no problem with k2xi: what games have you had trouble with? What version of TeknoParrot (I have apparently the latest one, 1.0.0.249)?

regis69

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 1
  • Last login:December 15, 2019, 02:40:52 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #56 on: November 26, 2019, 07:35:02 pm »
I have been having an odd issue with SF5 and minipac board on my arcade rig. Prior to SF5 updating earlier this year, I was using a batch file to reconfigure the ipac board specifically for this game. Worked great. I didn't have to use vjoy and x360ce or AHK.

Since the SF5 update, my methods filed to work and configuring vjoy and x360ce did not work well. I came across keyboard2xinput and installed ViGMe bus and Visual C++ 2015 32bit. My OS is WIN 10 pro.

I'm using the default mapping.ini file and see SF5 key config displayed in lower right upon loading game. When I go into controller setup though, player 1's "Y" keybinding is not detected, same for player 2's "X" keybinding. They are set in mapping.ini as "Z" and "W" respectively and if I open a notepad doc, and press these buttons, I get Z and W. So that is the first strange thing bc all the other bindings work. The second oddity, while still in SF5 controller setup, although I press player 1's "Y" ( medium kick ) and nothing happens, if I press the "X" (low kick) on player 2, it triggers the medium kick on player 1. The opposite happens with player 2's "X" (low kick). I press it, nothing is triggered, log file says "key not detected", but if I press player 1's "Y" (medium kick), it triggers the low kick on player 2. I hope this makes sense.

The obvious solution would be to try to remap these two buttons by swapping the resultant keybindings. Nope. Same problem. Weird.

Then I tried changing one of the keybindings in on the ipac board to another letter. I changed "Z" to "Y" then made the same change in mappings.ini. This time, player 1's medium kick button not only triggered nothing for player 1's controller, it did not trigger the low kick on player 2's controller.

I'm open to suggestions at this point.

Below is the mapping.ini file I am using.

[startup]
enabled = true
[config]
Subtract = disable
Add = enable
Divide = enableToggle
Multiply = exit
[pad1]
Up = UP
Down = DOWN
Left = LEFT
Right = RIGHT
LControlKey = A
LAlt = B
LShiftKey = X
Z = Y
X = RB
Space = LB
V = RT
C = LT
D5 = START
D1 = BACK

[pad2]
R = UP
F = DOWN
D = LEFT
G = RIGHT
S = B
A = A
I = Y
W = X
K = RB
Q = LB
L = RT
J = LT
D6 = START
D2 = BACK

Thanks for your help.

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 #57 on: December 01, 2019, 11:28:20 am »
hey dude.

i've got a game for steam that has the buttons all weird and i want that particular game to have different buttons.  it would make most sense for me to run the exe with a separate mappings.ini, but I'm using Launchbox/BigBox and already have the KeyBoard2XInput running but disabled.  bigbox launches an AHK script to enable/disable the Key2xinput for games that require xinput.

I don't want to have to unload the app before launching that one game and then load a diff mapping file. 

any thoughts on how i can make this work?

kagaden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:January 01, 2020, 06:14:33 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #58 on: December 24, 2019, 07:07:42 pm »
Schwing, thank you so much for this simplified solution!

I plan on updating my 2 cabs with this over the holidays starting today, if I run across any ideas or helpful advice I'll post here.

I'd be interested donating after I'm all wrapped up too.  :cheers:


kagaden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:January 01, 2020, 06:14:33 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #59 on: December 25, 2019, 04:41:53 am »
Some older games require a small delay before starting, otherwise it won't detect the second controller.
One such game is injustice.
Using rocketlauncher/ahk it's quite simple to add a 1.5 second delay.
I'm guessing that for 4 controllers you will need to add a longer delay.
Interesting; just to confirm, you run kb2xi, wait 1.5 seconds, then start Injustice?
I remember some old games that didn't detect pads if they were connected after the game had started, but I haven't encountered such a case on the games I play on my bartop setup. Maybe I should add that to the troubleshooting section. Doy you know of other games that need that delay?
Yes, that's exactly what i did. If i don't add the 1.5 second delay the game won't detect the second controller.
So far this has only happened with injustice, but i'm guessing this will happen with more older games, since this was the behavior with those old games.
I should also point out that i'm running the games from an ssd drive, so loading is almost instantaneous.

I'm running from an SSD as well and also ran into this behavior, now working on where I can add a delay to load the game. Update: Launching from RL, I put it in postlaunch & added a 1500ms delay in the wait setting. Worked like a dream.

With k2x running & launching SFV from Steam = No issues, both players work great.
Launching with Rocketlauncher with Pre/Post exit enable/disable script = Also works with both players great.
Launching from Hyperspin, which kicks off the above configuration in Rocketlauncher = Keyboard keys are not blocked. This causes: Player 1 works, Player 2's inputs are broken and cause P1 to attack as well at times because both the P2 gamepad + P1 Keyboard key is pressed on the same button.  Toggling the gamepads off with - and on with + result in keys still not being blocked.

Bug Report: When HyperSpin is running keys are not blocked.
1. Launch Notepad
2. Launch K2X and Enable it
3. Attempt to type with blocked keys into Notepad
4. ---> Note that keys are blocked, no visible input
5. Launch Hyperspin
6. Alt-Tab back to Notepad while Hyperspin is loaded in the background
7. Attempt to type with blocked keys into Notepad
8. ---> Note that keys are now unblocked, all inputs are visible
9. Press "-" to toggle K2X off
10. Press "+" to toggle K2X on
11. Attempt to type with blocked keys into Notepad
12. ---> Note that keys are still unblocked, all inputs are visible

Expected Result ---> Keys should be blocked while K2X is enabled.

PC - Windows 7 latest update, Hyperspin 1.4.0

Workaround - If Hyperspin is loaded first before K2X, then K2X key blocking works properly along with toggles. If K2X is loaded (for example on system boot) first prior to Hyperspin, then the above behavior happens. Therefore, for me the safest way I found is to not use togglemode and load/unload K2X with every game that requires it, which was how it was intended to be used prior to toggling.

Bug report: When launching the .exe directly from RocketLauncher as Pre-Launch, RocketLauncher will hang.
1. Open RocketLauncherUI
2. Add K2X.exe as Pre-Launch for your PC game
3. Launch the game with the rocket icon
4. ---> The game will not load and will hang. If there's a fade screen the fade screen will persist until reboot.
5. Change K2X.exe to load as Post-Launch for your PC game
6. Launch the game with the rocket icon
7. ---> The game will load with K2X without issue.
8. Create a batch file to load K2X.exe
9. Change to load K2X.exe with a batch file instead of directly, in Pre-Launch
10. Launch the game with the rocket icon
11. ---> The game will load with K2X without issue.

Expected Results---> K2X will load without hanging the game. This may be a RocketLauncher compatibility issue but seems strange it will load from a Batch file or Post-Launch, but will hang on Pre-Launch.
Workaround - Use Post-Launch to load the exe directly. Or a batch file to load with Pre-Launch (this is what I'm doing for most games).

I hope this testing of behavior was helpful as I finished up my cab! These are the only 2 issues I ran into + workarounds that are hopefully helpful for others.
« Last Edit: January 01, 2020, 06:12:49 pm by kagaden »

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #60 on: December 25, 2019, 05:03:15 pm »
Some older games require a small delay before starting, otherwise it won't detect the second controller.
One such game is injustice.
Using rocketlauncher/ahk it's quite simple to add a 1.5 second delay.
I'm guessing that for 4 controllers you will need to add a longer delay.
Interesting; just to confirm, you run kb2xi, wait 1.5 seconds, then start Injustice?
I remember some old games that didn't detect pads if they were connected after the game had started, but I haven't encountered such a case on the games I play on my bartop setup. Maybe I should add that to the troubleshooting section. Doy you know of other games that need that delay?
Yes, that's exactly what i did. If i don't add the 1.5 second delay the game won't detect the second controller.
So far this has only happened with injustice, but i'm guessing this will happen with more older games, since this was the behavior with those old games.
I should also point out that i'm running the games from an ssd drive, so loading is almost instantaneous.

I'm running from an SSD as well and also ran into this behavior, now working on where I can add a delay to load the game.

With k2x running & launching SFV from Steam = No issues, both players work great.
Launching with Rocketlauncher with Pre/Post exit enable/disable script = Also works with both players great.
Launching from Hyperspin, which kicks off the above configuration in Rocketlauncher = Keyboard keys are not blocked. This causes: Player 1 works, Player 2's inputs are broken and cause P1 to attack as well at times because both the P2 gamepad + P1 Keyboard key is pressed on the same button.  Toggling the gamepads off with - and on with + result in keys still not being blocked.

Bug Report: When HyperSpin is running keys are not blocked.
1. Launch Notepad
2. Launch K2X and Enable it
3. Attempt to type with blocked keys into Notepad
4. ---> Note that keys are blocked, no visible input
5. Launch Hyperspin
6. Alt-Tab back to Notepad while Hyperspin is loaded in the background
7. Attempt to type with blocked keys into Notepad
8. ---> Note that keys are now unblocked, all inputs are visible
9. Press "-" to toggle K2X off
10. Press "+" to toggle K2X on
11. Attempt to type with blocked keys into Notepad
12. ---> Note that keys are still unblocked, all inputs are visible

Expected Result ---> Keys should be blocked while K2X is enabled.

PC - Windows 7 latest update, Hyperspin 1.4.0

Workaround - If Hyperspin is loaded first before K2X, then K2X key blocking works properly along with toggles. If K2X is loaded (for example on system boot) first prior to Hyperspin, then the above behavior happens. Therefore, for me the safest way I found is to not use togglemode and load/unload K2X with every game that requires it, which was how it was intended to be used prior to toggling.
Just tested this and can confirm that hyperspin does in fact unblocks the keys if starting k2x before hyperspin.
I've always scripted k2x to run just before loading a game so never realized this.

kagaden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:January 01, 2020, 06:14:33 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #61 on: December 26, 2019, 02:15:15 am »
Just tested this and can confirm that hyperspin does in fact unblocks the keys if starting k2x before hyperspin.
I've always scripted k2x to run just before loading a game so never realized this.

Thanks Foxhole and Merry Christmas! I was editing and updating as I went and wanted to document my findings there. I did run into the P2 not responding/race condition issue with Injustice 1, but every other game worked really well.

I'm just glad it works, this app is amazing and we've needed it for years in the community!

kagaden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:January 01, 2020, 06:14:33 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #62 on: January 01, 2020, 06:03:36 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.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

Your work is marvelous and has made my cab far more stable across xinput controls. Thank you so much for putting it together. If there's somewhere I can donate to you and SpaceNinja for your efforts, please let me know!

kagaden

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 232
  • Last login:January 01, 2020, 06:14:33 pm
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #63 on: January 01, 2020, 06:14:43 pm »
How do we get a sticky on this thread?

xlbt

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:February 01, 2020, 05:26:04 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #64 on: January 29, 2020, 08:32:05 am »
Hello,

I try to integrate SFV in my arcade machine with keyboard for controllers.
And I want to use your soft that looks great !

I just have a problem with my configuration as I use special characters (:;, ...) and numerical characters.
All the buttons with alpha letters are remapped and work well, but all the button with special and numerical characters are not mapped.
So in my case, it's not possible to play with the second controller...

Here is my mapping file :
[startup]
enabled = true
[config]
Subtract = disable
Add = enable
Divide = enableToggle
Multiply = exit
[pad1]
Up = UP
Down = DOWN
Left = LEFT
Right = RIGHT
W = A
X = B
Q = X
S = Y
D = RB
F = LB
C = RT
V = LT
& = START
( = BACK

[pad2]
8 = UP
2 = DOWN
4 = LEFT
6 = RIGHT
; = B
, = A
K = Y
J = X
L = RB
M = LB
: = RT
! = LT
ť = START
- = BACK


Here is a log :
---
2020-01-29 10:07:08,491 [1] INFO  Keyboard2XinputGui.Program- Keyboard2Xinput v1.1.2
2020-01-29 10:07:08,537 [1] DEBUG Keyboard2XinputLib.Config- Using default config file: mapping.ini
2020-01-29 10:07:08,537 [1] INFO  Keyboard2XinputLib.Config- Loading config file: C:\Borne\Softs\Keyboard2Xinput-1.2.0\mapping.ini
2020-01-29 10:07:08,560 [1] DEBUG Keyboard2XinputLib.Config- found config for pad 1
2020-01-29 10:07:08,560 [1] DEBUG Keyboard2XinputLib.Config- found config for pad 2
2020-01-29 10:07:08,560 [1] INFO  Keyboard2XinputLib.Config- found 2 pads
2020-01-29 10:07:08,560 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- initialize dicts done.
2020-01-29 10:07:11,298 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad8
2020-01-29 10:07:11,445 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad8
2020-01-29 10:07:11,768 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad2
2020-01-29 10:07:11,900 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad2
2020-01-29 10:07:12,232 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad4
2020-01-29 10:07:12,370 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad4
2020-01-29 10:07:12,670 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad6
2020-01-29 10:07:12,802 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button NumPad6
2020-01-29 10:07:13,551 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 X down
2020-01-29 10:07:13,651 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 X up
2020-01-29 10:07:13,952 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 Y down
2020-01-29 10:07:14,052 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 Y up
2020-01-29 10:07:14,337 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 RB down
2020-01-29 10:07:14,453 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 RB up
2020-01-29 10:07:14,776 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 LB down
2020-01-29 10:07:14,876 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad2 LB up
2020-01-29 10:07:15,509 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Oemcomma
2020-01-29 10:07:15,609 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Oemcomma
2020-01-29 10:07:15,894 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button OemPeriod
2020-01-29 10:07:15,995 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button OemPeriod
2020-01-29 10:07:16,296 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button OemQuestion
2020-01-29 10:07:16,411 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button OemQuestion
2020-01-29 10:07:16,681 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Oem8
2020-01-29 10:07:16,781 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Oem8
2020-01-29 10:07:17,947 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D2
2020-01-29 10:07:18,063 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D2
2020-01-29 10:07:18,749 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D6
2020-01-29 10:07:18,887 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D6
2020-01-29 10:07:20,770 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Return
2020-01-29 10:07:20,823 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button Return
2020-01-29 10:07:22,042 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 UP down
2020-01-29 10:07:22,195 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 UP up
2020-01-29 10:07:22,443 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 DOWN down
2020-01-29 10:07:22,628 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 DOWN up
2020-01-29 10:07:22,928 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LEFT down
2020-01-29 10:07:23,113 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LEFT up
2020-01-29 10:07:23,376 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RIGHT down
2020-01-29 10:07:23,530 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RIGHT up
2020-01-29 10:07:24,116 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 X down
2020-01-29 10:07:24,248 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 X up
2020-01-29 10:07:24,517 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 Y down
2020-01-29 10:07:24,633 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 Y up
2020-01-29 10:07:24,896 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RB down
2020-01-29 10:07:25,018 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RB up
2020-01-29 10:07:25,304 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LB down
2020-01-29 10:07:25,404 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LB up
2020-01-29 10:07:25,952 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 A down
2020-01-29 10:07:26,068 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 A up
2020-01-29 10:07:26,322 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 B down
2020-01-29 10:07:26,422 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 B up
2020-01-29 10:07:26,669 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RT down
2020-01-29 10:07:26,785 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 RT up
2020-01-29 10:07:27,055 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LT down
2020-01-29 10:07:27,171 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- pad1 LT up
2020-01-29 10:07:28,042 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D1
2020-01-29 10:07:28,158 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D1
2020-01-29 10:07:28,628 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D5
2020-01-29 10:07:28,759 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- unmapped button D5
2020-01-29 10:07:34,405 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- Closing
2020-01-29 10:07:34,405 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- Disconnecting Nefarius.ViGEm.Client.Targets.Xbox360Controller
2020-01-29 10:07:34,405 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- Disconnecting Nefarius.ViGEm.Client.Targets.Xbox360Controller
2020-01-29 10:07:34,405 [1] DEBUG Keyboard2XinputLib.Keyboard2Xinput- Disposing of ViGEm client
---


Do I make something wrong ?

Thanks for the help.

xlbt

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:February 01, 2020, 05:26:04 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #65 on: January 29, 2020, 12:50:46 pm »
Sorry,
I finaly anderstood.  :banghead:
I replaced the special characters by "Oemcomma", "OemPeriod" and the other words that are written in the log and it works.

Thanks for this excellent soft !
« Last Edit: January 29, 2020, 12:52:41 pm by xlbt »

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #66 on: January 29, 2020, 01:00:25 pm »

xlbt

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:February 01, 2020, 05:26:04 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #67 on: February 01, 2020, 05:25:15 am »
Launching with Rocketlauncher with Pre/Post exit enable/disable script = Also works with both players great.
his testing of behavior was helpful as I finished up my cab! These are the only 2 issues I ran into + workarounds that are hopefully helpful for others.

Hello,

Can you please share the scripts for launch and kill with RocketLauncher ?
Or explain what to do.

I'm trying to launch SFV in Hyperspin + RocketLauncher with start of Keyboard2Xinput before and stop Keyboard2Xinput on exit.

Thanks a lot.

xul

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 8
  • Last login:February 04, 2020, 07:47:27 pm
  • Toasty!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #68 on: February 04, 2020, 07:47:27 pm »
Wow - First off, I want to say Thank you to Schwing!!!!! We have needed this for years.  I've been trying to find a Xinput solution to Keyboard and have spent so much time on workarounds.  I'm playing around with this now.  I stumbled upon this by looking up a solution for another similar utility.   :applaud: :applaud: :applaud: :applaud: :applaud: :applaud: :applaud: :cheers: :cheers: :cheers: :cheers: :cheers:

For reference - here's another one. https://github.com/mikew/xarcade-xinput

K2X seems a bit easier to build batch files around.  Thank you so much!!!

Furinex

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:February 07, 2020, 01:02:06 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #69 on: February 06, 2020, 01:39:43 pm »
Im having an issue getting this to work properly and Im hoping someone can assist.  Ive been trying to setup Dragon Ball FighterZ on my arcade for some time, and its driving me up a wall.  Ive setup all my mappings, and they are indeed working, but IN GAME they dont work.  If I Alt Tab (Still can see the game in the background) and move my joystick around, press buttons, etc, it moves my character in game.  So I know its forwarding it to the game its just NOT doing it when the game is focused as the main window.  Is there something I can try?  Game Controller panel testing works fine.  Doesnt work in Game, unless I alt tab and focus another window, then it works in the game in the background.

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #70 on: February 07, 2020, 09:27:33 am »
Im having an issue getting this to work properly and Im hoping someone can assist.  Ive been trying to setup Dragon Ball FighterZ on my arcade for some time, and its driving me up a wall.  Ive setup all my mappings, and they are indeed working, but IN GAME they dont work.  If I Alt Tab (Still can see the game in the background) and move my joystick around, press buttons, etc, it moves my character in game.  So I know its forwarding it to the game its just NOT doing it when the game is focused as the main window.  Is there something I can try?  Game Controller panel testing works fine.  Doesnt work in Game, unless I alt tab and focus another window, then it works in the game in the background.
Any chance you have x360ce in the game's folder?
I had a similar issue when i forgot to remove x360ce from the game's folder.

Furinex

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:February 07, 2020, 01:02:06 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #71 on: February 07, 2020, 01:02:06 pm »
Im having an issue getting this to work properly and Im hoping someone can assist.  Ive been trying to setup Dragon Ball FighterZ on my arcade for some time, and its driving me up a wall.  Ive setup all my mappings, and they are indeed working, but IN GAME they dont work.  If I Alt Tab (Still can see the game in the background) and move my joystick around, press buttons, etc, it moves my character in game.  So I know its forwarding it to the game its just NOT doing it when the game is focused as the main window.  Is there something I can try?  Game Controller panel testing works fine.  Doesnt work in Game, unless I alt tab and focus another window, then it works in the game in the background.
Any chance you have x360ce in the game's folder?
I had a similar issue when i forgot to remove x360ce from the game's folder.


You did it you crazy son of a ---smurfette---, you did it.  Thank You so much, man this saved my day!!

Dainja

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:April 30, 2020, 04:12:26 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #72 on: February 16, 2020, 02:37:00 pm »
Ive been playing games for months now with K2X and its been working real good in Teknoparrat games, Steam games and everyhting else. Such a blessing! BUT, now it started acting funny. If I play a two player game it works fine for maybe 20 minutes then suddently player one or two loose control over the movement and the character *or whatever your controlling* just keep moving to the right. And you cant move. I have to quit the game and start it up again. Same thing happens over and over after a couple of minutes. In different games.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #73 on: February 17, 2020, 02:02:32 am »
Ive been playing games for months now with K2X and its been working real good in Teknoparrat games, Steam games and everyhting else. Such a blessing! BUT, now it started acting funny. If I play a two player game it works fine for maybe 20 minutes then suddently player one or two loose control over the movement and the character *or whatever your controlling* just keep moving to the right. And you cant move. I have to quit the game and start it up again. Same thing happens over and over after a couple of minutes. In different games.
Hi Dainja, I'm sorry to hear that it acts this way. Have you looked in the log file? Does it say something unusual? Can send me one right after you quit k2xi (the log file is deleted at each start)?
If it does this in every game, i'd blame some other tool you might have installed, or maybe a Windows update, but for now I'm at a loss over what could be causing this, especially as it only affects the right direction...

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #74 on: February 17, 2020, 02:23:10 am »
Hi all,
sorry for the lack of updates lately (well, as usual you could say ;) ), I haven't had much time to work on k2xi, but have read all your posts, so here goes:
- Kagaden: Hyperspin must be doing something that resets the key interceptors, I'll have to see if I can detect that.
- angryherbalist: as usual, nice ideas from you :) I've been thinking about it and what I've come up with is this:
    * have a main mapping file (with the [config] section); define new key mappings in this section to 'switch' mappings
    * create files mapping1.ini, mapping2.ini, etc (up to mapping 9) next to the main mapping file. These must not contain a [config] section (otherwise I think it would be too confusing).
    * this allows to switch configurations on the fly. I've got a crude implementation working, have to make sure it's a bit robust before I do another release
- angryherbalist again: you suggested to have the tray icon change when k2xi is disabled, and it'sindeed really useful: I've implemented it, but now that we can have multiple mappings, I'm thinking that maybe displaying the current mapping number in the tray icon might be useful. What do you all think?

Also, many thanks to Foxhole for helping other users out!
I MAY have time to work on this over the next two days, but if don't, the next release won't happen before march (but I'll try my best to make it start of march).

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #75 on: February 17, 2020, 03:52:57 am »
Ive been playing games for months now with K2X and its been working real good in Teknoparrat games, Steam games and everyhting else. Such a blessing! BUT, now it started acting funny. If I play a two player game it works fine for maybe 20 minutes then suddently player one or two loose control over the movement and the character *or whatever your controlling* just keep moving to the right. And you cant move. I have to quit the game and start it up again. Same thing happens over and over after a couple of minutes. In different games.
I've seen a similar behavior happening on a friend's setup and I'm currently trying to track the issue down.
I think i may have an idea as to what's happening.
Dainja, please open a Run prompt and type joy.cpl and press enter. Do this without k2x running.
Please tell me what you see or better, post a picture of the joy.cpl screen.
« Last Edit: February 17, 2020, 03:55:06 am by Foxhole »

Foxhole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 249
  • Last login:Today at 04:33:07 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #76 on: February 17, 2020, 05:52:26 am »
Dainja, i would like you to also disconnect every keyboard, wireless or wired, from the pc leaving only the ipac connected and check if that helps.

MartyKong

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 95
  • Last login:April 28, 2020, 11:42:34 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #77 on: March 14, 2020, 07:05:00 pm »
First off a great big THANKS to Schwing for this great software. I am launching Pac-Man Museum as a single game off my main wheel using HyperHQ. I no very little about AHK but was able to create a file that launches Keyboard2Xinput then the game, waits until the game is closed and shuts off Keyboard2Xinput.exe. The only minor annoyance is two windows beeps you hear as the .exe's launch. Please have a look, I'm sure there's room for improvement. If anyone else can use this, simply convert .ahk to .exe and change your path's to point to your executable's. Then launch through HyperHq.

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance, Force
#Persistent

Run D:\Arcade\System roms\PC Games\PAC-MAN MUSEUM\Keyboard2Xinput\Keyboard2XinputGui.exe
Sleep, 1000  ; sleep 1 second
Run, D:\Arcade\System roms\PC Games\PAC-MAN MUSEUM\PACMuseum.exe
Sleep, 1000  ; sleep 1 second

SetTimer, ProcessCheckTimer, 3000
Return
 
ProcessCheckTimer:
Process, Exist, PACMuseum.exe
pid1 := ErrorLevel
If (!pid1)
{  Process, Exist, Keyboard2XinputGui.exe
   pid2 := ErrorLevel
   If (pid2)
      Process, Close, %pid2%
   ExitApp
}
Return

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #78 on: March 15, 2020, 09:29:13 am »
The only minor annoyance is two windows beeps you hear as the .exe's launch. Please have a look, I'm sure there's room for improvement.
As k2xi does not trigger any sound itself, what you hear must be the default Windows sound for when you connect a USB device (which is what happens virtually when the pads are created), so if you want to get rid of them: search for 'change system sounds' in your start menu (Windows 10, name may be different on earlier OS), and look for the 'Device Connect' & 'Device Disconnect' sounds: you can disbale them by selecting 'None' in the associated drop-down box.

Thanks for the AHK script, I'll compare it with mine, as I intend to provide example scripts (also for Steam, which is a pain to setup) in the next version.

MartyKong

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 95
  • Last login:April 28, 2020, 11:42:34 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #79 on: March 15, 2020, 09:56:30 am »
No problem. If I come a crossed any improvements I'll updatebut so far works well. Much appreciated ;D

Billybong

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 1
  • Last login:April 09, 2020, 11:36:58 am
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #80 on: April 03, 2020, 07:44:48 pm »
Hi.. I've registered an account here mainly because I have an issue using this software.. for the life of me, I've followed the installation instructions provided and controllers show up in my pc's device manager and all buttons register, but in the actual game (SFV-CE) nothing works.  I'm currently using an IPAC2 (can't get multimode to work either, thus trying with k2x).  2nd player doesn't work and my keyboard only slightly works (for some reason SFV-CE won't map certain keyboard buttons).   Is there a setup for dummies available anywhere?  I'm pulling my hair out trying to get my cabinet setup..

lovewiibrew

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:Yesterday at 05:25:24 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #81 on: April 09, 2020, 09:15:07 am »
I can't get pad 2 to register in any game. In Dead or Alive 6, I have to Tab out and back into the game to get it to work with player 1. I removed old xinput files from there where I tried to use x360ce.  Anything I might be doing wrong?

Edit: Ok, I messed up some of the config keys, so now both controllers work great in MVC3. I also got DOA6 working. Great program, thank you! The Ipacs mode switching doesn't work properly.
« Last Edit: April 09, 2020, 07:36:35 pm by lovewiibrew »

Division

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 1
  • Last login:May 15, 2020, 02:32:46 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #82 on: April 30, 2020, 05:53:39 am »
Hello everybody. I really like this program, it helped me replace my old gamepad with a keyboard in a game where the standard keyboard controls were terrible. But I have a question. Can I use a second connected keyboard as a second gamepad (my game is cooperative and would like to replace the second gamepad with a keyboard too)? I added a second gamepad with the same buttons as for the first. But in the game I controlled two characters on the same keyboard at the same time. The program sees (like windows) the second keyboard as the first.

I wanted to find out. Is it possible to indicate to the program a second keyboard with the same keys only for the second gamepad? By changing the device ID? Will such a feature be available in the future?

Of course, I can change all the buttons on the second keyboard for the gamepad 2. But this is not convenient, because I can accidentally press the buttons of the second player on the first keyboard and vice versa.

I found other solutions (UCR, KeyboardSplitterXbox). But I like this program so much that I would like to stay on it.

Can this application solve my problem? Thanks in advance for your reply.

lovewiibrew

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:Yesterday at 05:25:24 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #83 on: May 03, 2020, 12:10:27 pm »
I can confirm this works with the new Streets of Rage 4, even with 4 players (4 pads)!

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 104
  • Last login:June 01, 2020, 07:27:18 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #84 on: May 04, 2020, 01:01:39 pm »
I can also confirm that Streets of Rage 4 works great! Hey Schwing, what is the correct way to leave an input blank in the ini? Say I don't want to assign anything to LT. Also, what is the correct key name for Asterick? On my 4 player control panel, I have Asterick assigned to one of the buttons but I don't see that in the virtual key names list. Thanks!

lovewiibrew

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:Yesterday at 05:25:24 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #85 on: May 06, 2020, 03:49:11 pm »
If you don't want to bind a button at all, then just don't even put it in the config. As for the asterick, it should be "Multiply" as the key name.

Yardley

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 104
  • Last login:June 01, 2020, 07:27:18 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #86 on: May 09, 2020, 07:57:50 pm »
If you don't want to bind a button at all, then just don't even put it in the config. As for the asterick, it should be "Multiply" as the key name.

Thanks!

sanxbr

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:May 18, 2020, 02:00:54 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #87 on: May 13, 2020, 10:09:01 pm »
Hello guys! I'm trying to make use of this software with my IPAC + 2 360 controllers (1 is a ds3 with xinput). I have 2 Ultrastick 360 connected to the IPAC

If I run k2x WITHOUT the 360 controllers connected to the PC, it runs very good in all games, my 2 sticks ans buttons run flawless.
But if I run with them connectes the nightmare begins lol, nothing works properly anymore, to the point that one of the sticks isnt even recognized.

Is there something I can do or try?

Thanks a lot!

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #88 on: May 21, 2020, 09:34:41 am »
Hi all,
I've just released a new version of Keyboard2Xinput: 1.2.1
This took considerably longer than it should have, sorry about that, blame my lazyness/lack of energy during the last two trying months :)
You can now have multiple mappings, and switch them via hotkeys.
The documentation is now included in the release zip, I thought maybe that would make things easier on new users than go on Gitlab.
I also added some sample mappings (don't hesitate to send me more if you think yours is relevant), and AutoHotKey scripts to launch games & k2xi together, hope some find them useful.

As always, feedback welcome!

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #89 on: May 21, 2020, 09:46:55 am »
I wanted to find out. Is it possible to indicate to the program a second keyboard with the same keys only for the second gamepad? By changing the device ID? Will such a feature be available in the future?
Unfortunately this is not possible now nor will it be in the future. There are multiple APIs in Windows to handle keystrokes, and my first experiments used the one where you can know on which keyboard a key was pressed. But (as far as I recall, this has been a long time, so bear with me) I could not find any way to really intercept the key so that it wasn't 'seen' by other Windows programs. This was quite frustrating as I liked the idea of supporting your use case.
Anyway, I switched to another API that let me catch key events and prevent them from being sent to the OS.

Schwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 25, 2020, 10:25:58 am
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #90 on: May 21, 2020, 09:56:18 am »
2 360 controllers (1 is a ds3 with xinput)
What software do you use to have your DualShock3 seen as a 360 controller? k2xi is known to have problems when run together with Joy2Key or x36ce for instance.

lovewiibrew

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:Yesterday at 05:25:24 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #91 on: May 26, 2020, 03:03:12 pm »
Hi all,
I've just released a new version of Keyboard2Xinput: 1.2.1
This took considerably longer than it should have, sorry about that, blame my lazyness/lack of energy during the last two trying months :)
You can now have multiple mappings, and switch them via hotkeys.
The documentation is now included in the release zip, I thought maybe that would make things easier on new users than go on Gitlab.
I also added some sample mappings (don't hesitate to send me more if you think yours is relevant), and AutoHotKey scripts to launch games & k2xi together, hope some find them useful.

As always, feedback welcome!

Schwing, thanks for your awesome program. It saved me so much frustration with trying to get keys read as an xbox controller. I just use a separate instance of keyboard2xinput in the game folder to map it to different buttons, and then use AHK to call that particular instance of the program when I launch a certain game. I've received a beta software for the ipac4 that is supposed to fix xinput mode, but haven't bothered trying it. Your program works so well and does something the ipac4 cannot: 4 "xbox controllers" while the ipac can only mimic two. Thanks again for your excellent program.

imacomputa

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:Yesterday at 03:50:10 pm
  • I want to build my own arcade controls!
Re: Keyboard2Xinput (Virtual X360 pads from keyboard)
« Reply #92 on: May 30, 2020, 06:05:02 am »
Hi,
This program has been a godsend for my set up.

I'm having an issue -- I'm using an IPAC 4 and trying to play MK11.
I have 6 buttons per player, so I need to use button combos (1+2, 3+4+5) to pull off some moves.

The problem is that it wont register multiple buttons as being pressed at the same time. It only will register them as separate even when i press them at the same time.

If I disable k2x and bind with keyboard input, it works as expected and will allow multiple presses.

Anyone have any ideas?