Aller au contenu
ducon2016

Simulate X360 controllers when you just have a keyboard

Messages recommandés

=== WHAT IS x360kb? ===

 

x360kb is the all in one solution to play games that would need a joystick when you only have a keyboard. The games will believe you are playing with x360 pads, but you will only use your keyboard.

 

=== DETAILS ===

 

1. x360kb is an improved alternative to the excellent original x360kb by PKT (http://www.capcom-unity.com/ask_capcom/go/thread/view/7371/18347559/SFIV_PC__2_players_on_keyboard&post_num=98?liveView=1) emulating up to 4 pads with improvements like blocking keys, x64 support and many more.

2. x360kb is an alternative to VJoy (http://www.headsoft.com.au/index.php?category=vjoy). You can simulate Direct Input joysticks with x360kb without the need to install VJoy nor its drivers and devices on your machine, you can also block keys the same way VJoy does.

3. x360kb is an alternative to combining x360ce (https://www.x360ce.com/) and VJoy for XInput Games.

3. x360kb is an alternative to dinput8.dll blocker (https://drive.google.com/drive/folders/0B4lfqq0DpUo-SnNRRzNOa3doWjA?tid=0B4lfqq0DpUo-WGV0OVVTS1Z0LVk) and it works with x64 too. You can block Direct Input devices with x360kb so that they do not conflict with the ones you are simulating, and the original dinput8.dll blocker did not have an x64 version so x360kb is the only option for x64 games.

4. x360kb is an alternative to the Atelier DirectInput8 keyboard remapper (https://github.com/shirorndcode/atelier_remap)

5. x360kb is an alternative to AutoHotkey (https://autohotkey.com/). You can remap keys and exit the game with key presses without having to write tedious scripts. And it works with more games than AutoHotkey including DInput8 games

6. x360kb includes an experimental wheel type control for arcade games hardcoded to use a wheel in menus. Just use the keys you mapped to the wheel while in game menus, and use the analog sticks emulated while driving.

7. x360kb is an alternative to NoMousy (https://autohotkey.com/board/topic/2083-nomousy-disablehide-your-mouse-pointer-cmd/). You can hide the mouse cursor and it will be automatically restored when closing the app with the close key

8. x360kb is an alternative to TaskBar Hider (http://www.itsamples.com/taskbar-hider.html). You can hide the taskbar and it will be automatically restored when closing the app with the close key

 

=== BUILD HISTORY ===

 

1. [v1] Nouveau build avec fonctions manquantes. New build with added missing functions from original x360kb.

2. [v1] Fix du crash sur certains jeux et steam. Fix of crashes with some games and steam in the original x360kb.

3. [v1] Sans dinput qui reduit les problemes dans certains jeux. Removed dinput dependency from original x360kb to increase compatibility with games.

4. [v1] Build x64 pour les jeux en 64 bit. Original x360kb did not have a x64 build, now there is one.

5. [v2] Meilleure compatibilite avec les jeux Unity (XInputGetStateEx est implemente maintenant). Better support for Unity.

6. [v3] Possibilite de bloquer les touches comme VJoy pour ne pas que le jeu reagisse deux fois a la meme touche. Mettre BlockKeys=1 dans x360kb.ini. Ability to block keys like Vjoy.

7. [v4] Option pour fermer l'application avec une touche. Mettre CloseProcess=1 dans x360kb.ini et changez CloseKey=Esc par la touche que vous voulez utiliser. You can now close the app with a key if you want.

8. [v4] Supporte DirectInput 8 maintenant, donc plus besoin d'utiliser VJoy! Il suffit juste de copier dinput8.dll et x360kb.ini dans le repertoire de votre jeu et voila! Supports dinput8.dll, making it possible to simulate pads without vjoy!

9. [v5] Supporte DirectInput normal maintenant donc plus besoin de Vjoy! Utilisez dinput.dll dans les jeux qui conviennent. Supports dinput.dll, making it possible to simulate pads without needing vjoy.

10. [v5] Option pour cacher tout les autres joysticks dinput mettre FilterOtherPads=1 dans x360kb.ini qui permet de rendre compatible avec bien plus de jeux. Option to hide all other dinput/dinput8 controllers, making it more compatible with games grabbing the first available controllers.

11. [v6] Option pour entierement desactiver dinput8 pour les jeux utilisants le premier joystick dinput trouve avant ceux xinput comme Gravel par example, aussi utile pour ne pas avoir de conflicts entre Vjoy et x360kb: BlockDirectInput8=1 . Option to block all dinput8 joysticks when you want the game to use the xinput joysticks instead, for games like Gravel picking whatever comes first, or to reduce conflicts between Vjoy and x360kb. No need to use a dinput8.dll blocker dll anymore.

12. [v7] Merged BlockDirectInput8 option into FilterOtherPads. FilterOtherPads=1 will hide Direct Input joysticks whether you use direct input or xinput.

13. [v7] Added key remapper. Making it possible to remap keys without the need for Autohotkey or Atelier remapper

14. [v7] Experimental wheel emulator for games which UI was designed to be navigated with a wheel

15. [v8] Fixed edge case where x360kb would hog CPU when the app using xinput or dinput would not use a windows loop.

16. [v8] Added option to hide mouse cursor

17. [v8] Added option to hide taskbar

 

Pour utiliser:

 

1. Verifiez si votre jeu est x86 ou x64

2. Copiez tout les fichiers du repertoire dll ou dll-64 dans le meme repertoire que votre .exe

3. Editez x360kb.ini avec les touches que vous voulez utiliser

4. Lancez votre jeu. Si ca marche vous devriez entendre un bip windows

 

Le code source est inclus:

 

 

 

 

 

 

 

x360kb-v8.7z

Modifié par ducon2016
  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Fichiers mis a jour dans le premier post:

 

1. Meilleure compatibilite avec les jeux Unity (XInputGetStateEx est implemente maintenant)

2. Possibilite de bloquer les touches comme VJoy pour ne pas que le jeu reagisse deux fois a la meme touche. Mettre BlockKeys=1 dans x360kb.ini

Modifié par ducon2016

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

merci pour la découverte et partage. c'est du même style que x360ce ?

 

avis perso,

je trouve inconfortable d'ajouter des fichiers en + dans chaque jeux pour jouer, mais avis totalement perso, hein.

Dans certains cas hardware, c'est surement une bon soft (exemple si tu joue sur borne et que tu a un encodeurs Comme Xin-mo...

 

Par contre, j'ai l'habitude d'utiliser UCR - Universal Control Remapper

https://autohotkey.com/boards/viewtopic.php?f=19&t=12249

Tester et fonctionnel aussi sur plusieurs jeux SFIV, MKK, SFxTekken, Etc

J'avais fait un petit tuto sur son utilisation http://forum.hfsplay.fr/tutos-logiciels-annexes/ucr-universal-control-remapper-t13764.html#p207818

 

Pour dire,

si tu a aussi tester UCR, je suis pas contre un petit retours entre les deux.

 

MERCI

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est pareil que x360ce sauf pour le clavier:

 

x360ce: dinput controller becomes x360 controller

x360kb: keyboard becomes multiple x360 controllers

 

Oui c'est pas comfortable SAUF que c'est juste copier deux fichiers: .ini et .dll, et que ca permet de ne pas installer de logiciel et c'est bien plus leger. En plus il y a toujours des ajustements a faire que UCR ne permet pas facilement. Par example Tricky Towers a besoin d'inverser le pad 1 et 2

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

This is awesome, something i've been looking for ever since I built my arcade machine with a PC and J-pac, i'm surprised by how many PC based games lack the ability to share a keyboard for 2-players. I have tried this on Street Fighter 5, although there is a xinput_3.dll (I replaced it),I also get the ping noise when the game starts I don't see any controllers ? Any idea if Street Fighter 5 should work ? Awesome work ..

Partager ce message


Lien à poster
Partager sur d’autres sites
17 hours ago, anx10us said:

This is awesome, something i've been looking for ever since I built my arcade machine with a PC and J-pac, i'm surprised by how many PC based games lack the ability to share a keyboard for 2-players. I have tried this on Street Fighter 5, although there is a xinput_3.dll (I replaced it),I also get the ping noise when the game starts I don't see any controllers ? Any idea if Street Fighter 5 should work ? Awesome work ..

 

I just tested, it works perfectly fine with SFV:

 

1. Make sure you copy the x64 version of xinput1_3.dll

2. Copy the dll in the real .exe folder: StreetFighterV\Binaries\Win64\StreetFighterV.exe

3. Make sure x360kb.ini has BlockKeys=1

 

Modifié par ducon2016

Partager ce message


Lien à poster
Partager sur d’autres sites
11 hours ago, ducon2016 said:

 

I just tested, it works perfectly fine with SFV:

 

1. Make sure you copy the x64 version of xinput1_3.dll

2. Copy the dll in the real .exe folder: StreetFighterV\Binaries\Win64\StreetFighterV.exe

3. Make sure x360kb.ini has BlockKeys=1

 

Strange, I'm clearly doing something wrong, just followed your instructions, I get the ping sound, however the game no longer recognises any button or keyboard presses ...

11 hours ago, ducon2016 said:

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
2 hours ago, ducon2016 said:

The sounds does not mean it is hooked to the right process. Share the path of your .exe and your x360kb.ini.

Path = D:\Games\Street Fighter V - Arcade Edition\StreetFighterV\Binaries\Win64
[Options]
UseInitBeep=1
Log=1
BackgroundMode=1
PadCount=2
BlockRawInput=0
BlockKeys=1

[PAD1]
Start=1
Left Analog Left=
Left Analog Down=
Left Analog Right=
Left Analog Up=
Right Analog Left=
Right Analog Down=
Right Analog Right=
Right Analog Up=
D-Pad Up=Up
D-Pad Down=Down
D-Pad Left=Left
D-Pad Right=Right
A=v
B=b
X=z
Y=x
Left Shoulder=c
Right Shoulder=n
Left Trigger=
Right Trigger=

[PAD2]
Start=2
Left Analog Left=
Left Analog Down=
Left Analog Right=
Left Analog Up=
Right Analog Left=
Right Analog Down=
Right Analog Right=
Right Analog Up=
D-Pad Up=r
D-Pad Down=f
D-Pad Left=d
D-Pad Right=g
A=s
B=i
X=q
Y=w
Left Shoulder=a
Right Shoulder=k
Left Trigger=

 

Partager ce message


Lien à poster
Partager sur d’autres sites
9 hours ago, anx10us said:

Path = D:\Games\Street Fighter V - Arcade Edition\StreetFighterV\Binaries\Win64

[Options]
UseInitBeep=1
Log=1
BackgroundMode=1
PadCount=2
BlockRawInput=0
BlockKeys=1

[PAD1]
Start=1
Left Analog Left=
Left Analog Down=
Left Analog Right=
Left Analog Up=
Right Analog Left=
Right Analog Down=
Right Analog Right=
Right Analog Up=
D-Pad Up=Up
D-Pad Down=Down
D-Pad Left=Left
D-Pad Right=Right
A=v
B=b
X=z
Y=x
Left Shoulder=c
Right Shoulder=n
Left Trigger=
Right Trigger=

[PAD2]
Start=2
Left Analog Left=
Left Analog Down=
Left Analog Right=
Left Analog Up=
Right Analog Left=
Right Analog Down=
Right Analog Right=
Right Analog Up=
D-Pad Up=r
D-Pad Down=f
D-Pad Left=d
D-Pad Right=g
A=s
B=i
X=q
Y=w
Left Shoulder=a
Right Shoulder=k
Left Trigger=

 

 

Looks similar to mine. If the keyboard is no longer responding, it means the dll is definitely working and blocking keys. Is there anything useful in the log? Did you try to push the buttons mapped to Start? This looks like it should work, it works for me so not sure what is going on. May be the spaces in the path? Can you try to remove them and see if it works may be?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
7 hours ago, ducon2016 said:

 

Looks similar to mine. If the keyboard is no longer responding, it means the dll is definitely working and blocking keys. Is there anything useful in the log? Did you try to push the buttons mapped to Start? This looks like it should work, it works for me so not sure what is going on. May be the spaces in the path? Can you try to remove them and see if it works may be?

 

 

Ok, just tried removing spaces, working directory is now 

Path = D:\Games\SFV\StreetFighterV\Binaries\Win64

Still no luck, also swapped Player 1 Start button for enter, nothing ...

 

I'm clearly missing something here ...

 

Where is the log file located ?

Partager ce message


Lien à poster
Partager sur d’autres sites
3 hours ago, ducon2016 said:

 

"x360kb logs" folder

 

I don't have that directory, what is the location ? merci  ;-)

Modifié par anx10us

Partager ce message


Lien à poster
Partager sur d’autres sites
13 hours ago, ducon2016 said:

D:\Games\SFV\StreetFighterV\Binaries\Win64\x360kb logs

Something weird is definitely happening, that directory doesn't exist, i've since tried a few things ..

 

  • Created the x360kb logs directory, ran game --> no log file
  • Deleted directory, downloaded old version of xinput (from 2009), ran game, still no controls but directory got created and log file written to ...
  • xinputtest.exe only works with the 32-bit dll ?

The only thing I haven't mentioned is i'm using the game offline (no network to arcade cabinet), so the very first dialog box I get on startup is "unable to connect to server" could it be that this dialog box is waiting for a specific key press that isn't mapped to the controller ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
6 hours ago, anx10us said:

Something weird is definitely happening, that directory doesn't exist, i've since tried a few things ..

 

  • Created the x360kb logs directory, ran game --> no log file
  • Deleted directory, downloaded old version of xinput (from 2009), ran game, still no controls but directory got created and log file written to ...
  • xinputtest.exe only works with the 32-bit dll ?

The only thing I haven't mentioned is i'm using the game offline (no network to arcade cabinet), so the very first dialog box I get on startup is "unable to connect to server" could it be that this dialog box is waiting for a specific key press that isn't mapped to the controller ?

 

> Deleted directory, downloaded old version of xinput (from 2009), ran game, still no controls but directory got created and log file written to ...

 

The old dll is 32 bit and cannot work with SFV .exe which is 64 bit. If you had a log it means you put the dll in the wrong folder.

 

> xinputtest.exe only works with the 32-bit dll ?

 

Yes

 

> The only thing I haven't mentioned is i'm using the game offline (no network to arcade cabinet), so the very first dialog box I get on startup is "unable to connect to server" could it be that this dialog box is waiting for a specific key press that isn't mapped to the controller ?

 

When you play without controllers, what do you usually do to pass that screen?

Modifié par ducon2016

Partager ce message


Lien à poster
Partager sur d’autres sites
3 hours ago, ducon2016 said:

 

> Deleted directory, downloaded old version of xinput (from 2009), ran game, still no controls but directory got created and log file written to ...

 

The old dll is 32 bit and cannot work with SFV .exe which is 64 bit. If you had a log it means you put the dll in the wrong folder.

 

> xinputtest.exe only works with the 32-bit dll ?

 

Yes

 

> The only thing I haven't mentioned is i'm using the game offline (no network to arcade cabinet), so the very first dialog box I get on startup is "unable to connect to server" could it be that this dialog box is waiting for a specific key press that isn't mapped to the controller ?

 

When you play without controllers, what do you usually do to pass that screen?

 

Ok definetly using the 64-bit dll, i'm on Windows 10, no log directory created, I usually press Enter/Return to get past the screen, I tried mapping Play 1 Start --> Return, no luck ..

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
1 minute ago, anx10us said:

 

Ok definetly using the 64-bit dll, i'm on Windows 10, no log directory created, I usually press Enter/Return to get past the screen, I tried mapping Play 1 Start --> Return, no luck ..

 

 

 

If you mapped Start to Return and used BlockKeys=1 the signal for the Return key will not reach the game anymore. That is expected behavior. Try with BlockKeys =0 if you want to use Return as start. But I recommend using a different key that might be simpler. PM me it will make this thread more focussed

Partager ce message


Lien à poster
Partager sur d’autres sites
On 4/6/2018 at 12:47 PM, anx10us said:

 

Ok definetly using the 64-bit dll, i'm on Windows 10, no log directory created, I usually press Enter/Return to get past the screen, I tried mapping Play 1 Start --> Return, no luck ..

 

 

 

Ok try again, I rebuilt and reuploaded to make sure this is the same version. It should work now, I think the previous version was not the updated one.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens a peine de comprendre tout l'interet de ce soft. :o

 

Mais dommage pour moi, j'avais investit dans 2 pac-link de chez ultimarc car ça n'existait surement pas l'an passé.

 

A tous les possesseurs de borne ou même simplement de arcade stick... je vous le recommande.

Apres, ne l'ayant pas  testé, je ne peux pas dire si il est facile à utiliser.

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version avec une option pour terminer l'application en cours avec une touche.

 

Mettre CloseProcess=1 dans x360kb.ini et changez CloseKey=Esc par la touche que vous voulez utiliser

Partager ce message


Lien à poster
Partager sur d’autres sites

New version integrating the excellent (but also over-engineered) Xidi library (https://github.com/samuelgr/Xidi) with x360kb and enabling simulating pads with keyboard for games only using DirectInput 8 (usually there is no xinput1_3 or xinput1_4 or xinput9 if you search in the .exe with a hex editor, but there is dinput8.dll).

 

Integrating both make it possible to just use ONE library: for those games just copy dinput8.dll and x360kb.ini in your game.exe folder and it should work. For example this makes it possible to play JLA (http://www.emuline.org/topic/1237-arcade-pc-justice-league-heroes-united-global-vr/) on the keyboard

 

Modifié par ducon2016

Partager ce message


Lien à poster
Partager sur d’autres sites

New version now supporting dinput.dll and with an option making it possible to filter out all the other dinput device and just enable the simulated x360 pads: put FilterOtherPads=1 in x360kb.ini which makes it easier to work with games grabbing the first controllers available.

Partager ce message


Lien à poster
Partager sur d’autres sites

Added a lot of things making it even more useful:

 

[v7] Merged BlockDirectInput8 option into FilterOtherPads. FilterOtherPads=1 will hide Direct Input joysticks whether you use direct input or xinput.

[v7] Added key remapper. Making it possible to remap game keys without the need for Autohotkey or Atelier remapper

[v7] Experimental wheel emulator for games which UI was designed to be navigated with a wheel

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×