Xbox 360 Controller Emulator is a program that allows you to emulate an Xbox 360 controller when playing any PC game. Some older games are only compatible with the Xbox 360 controller, so you need that controller in order to play. However, with Xbox 360 Controller Emulator, you can use more recent controllers, including the PlayStation DualShock or DualSense controllers.
In fact, not only can you use controllers, but you can also use steering wheels, joysticks, and pedals to play games. For example, thanks to this emulator, you can play games like Grand Theft Auto with a steering wheel.
With Xbox 360 Controller Emulator, you can customize up to four different controllers at the same time. Thanks to this, you can configure other controls as well as a steering wheel. To switch between them, just mark the one you want as active. You can also assign profiles that you've already configured to each game.
The controller configuration options are very detailed. In addition to mapping buttons to whatever actions you want, you can adjust the dead zone, joystick sensitivity, vibration, and many other settings. If you have several computers, you can upload your settings to the cloud and keep them synced, in which case you can access them from anywhere.
Uptodown is a multi-platform app store specialized in Android. Our goal is to provide free and open access to a large catalog of apps without restrictions, while providing a legal distribution platform accessible from any browser, and also through its official native app.
vJoy provides an SDK and driver to simulate input devices. You can have joysticks, gamepads etc..PyvJoy allows you to access these drivers and simulate the input inside python. uses values between 0 and 32767 for the "analog" sticks.For example, to get the left thumb-stick of an xbox controller in a neutral position you put the XAxis and YAxis in 1/2 of 32767.
The final part is using X360CE, what is does is turn the vJoy "DigitalInput" Devide into a XInput device. So the PC/game thinks its an actual Xbox 360 or Xbox One Controller. This last part is only needed for some games that only allow official Xbox controllers, like GTA 5.You can get X360CE from here:
All this combined allows me to play those games through python. I learned that using WASD to train a neural network doesnt work too well because it always acts to extreme because it only allows 1 or 0 for the button presses. With these controls you can get smoother game controls.
I'd like to play some Tie Fighter 95, which won't start without a joystick, even though I'd never actually need the actual joystick (keyboard and mouse provide sufficient input). I used to use NTPAD in an old Windows setup to provide a fake joystick; now I'd like to do the same in Linux.
Antimicro (mentioned in other answer) looks promising, but personally I have achieved decent results with xboxdrv (haven't found a way to get analog sticks to work, but everything else works great). The following example configuration will map various keyboard buttons to Xbox controller button set (assuming /dev/input/event0 corresponds to keyboard on your machine):
I'm playing with my old Competition Pro. Of course, that requires an adaptor, and support in the emulator. Atari++ includes support for the "El Cheapo" adapter that basically connects the four directions of the digital joystick to the four buttons of the PC gameport, plus the joystick to one of the analog inputs via a simple resistor network. Works great.
If that doesn't work because I'm playing on my laptop, there is a mouse emulation that works fairly well (directional moves of the mouse become joystick moves), and there is a also a keyboard emulation via the numeric pad. Both are pretty bad compromizes, and which of them works better depends on the game.
The older design has been completely upgraded, new plastics designs, stronger and even better quality than before. Especially the handles which have gone back to the corkscrew installation method and also the fire button design has been completely done over to match the original Atari CX-40's perfectly. The Retrobit is nice, but then you still have to have a good pair of joysticks to use with it, and the Classic 2's work with Windows, OSX and Linux systems. Plus there is a jumper on the inside board that can change it from dual joysticks to keyboard mode to have the joysticks look and act like keyboard key presses which is good for use with web browser based games or games that only allow keyboard key inputs.
Can you tell me how you are doing this? I was trying to plug in my 360 controller to my linux laptop and use the USB cable. But it keeps trying to turn on my 360 when I am using it. Is it Windows only?
I have the Retro-Bit adapter for my real CX-40 joysticks and Curt's USB joysticks. Both are excellent! If you have working CX-40's or Epyx sticks, the Retro-bit option is cheaper. I've had no problem with Curt's original USB stick and like that the handle comes off for storage. The option I think is the best would be the 2600daptor II. It works for joysticks and paddle controllers. I guess I forgot how many good paddle games there are on the 8-bit and 2600. The 2600daptor II can be used for both Stella and Altirra. If Curt would make a USB paddle controller for $20, I'd buy four or five.
Thanks all. Looks like Xbox controller is my best bet, mainly because a lot of stuff like the retrobit options don't seem to be available in the UK although I may have missed a vendor. Tempted by Curt's ones but the Xbox ones having mapping to the START/OPTION etc buttons swings it.
Note that the Arduino Uno, Nano, and Mega are missing from this list. Those three boards do not have native USB support and will not work for this. You will need to buy another microcontroller. Sorry Charlie ?
You need to download the one(s) required for your microcontroller and install them. Specific installation instructions are provided in each repo. Make sure you have the latest version of the Arduino IDE to avoid any issues.
Hi, is it possible to use 4 pots (two for x axis and two for y axis) instead of just 2 (one for x axis and one for y axis)? I was messing around with another xinput library (MSF-XINPUT) and I have exhausted all possibilities without a positive result so I thought that maybe your library will be more flexible. I need every direction (left, right, up, down) to hove its own potentiometer.
Sorry for bothering you but your library is much more complicated (although I think meticulous would be a better word) and I am struggling a bit with it. I guess this is the first part I need to modifie?
Can you help me by adding the necessary lines of code in the second part? Normally I would not ask for such a thing but it would take a minute to type these few lines of code for you and hours of trial and error for me.
How difficult would it be to modify this to work with Adafruit Feather Bluefruit LE 32u4? I actually got most of the inputs to work by loading my board with your Circuit Playground with Xinput firmware. But I need to access my Feather BT,
XInput is a closed standard, which is why I had to reverse engineer the descriptors myself and why the project is strictly for hobbyists and non-commercial projects. The way this works is by telling the PC that the Arduino/Teensy is a genuine Microsoft-branded Xbox 360 controller. The PC then loads the official Microsoft driver for Xbox controllers and everything works smoothly. When you add additional descriptors onto the end, the PC no longer recognizes the controller as the official Xbox controller and everything stops.
As seen in all examples, there is never a use of attachInterrupts, instead always a use of digitalRead funktions. I wanted to make a steeringwheel with FFB and this looked like the best library. To get the steeringwheel angle I wanted to use a rotary encoder but here I need to use Interrupts. On a classic way I cant get the Interruptfunktions to be called, like it would be on a normal Joystick library. I#m using a Arduino Leonardo. Do you have any ideas for me?
You need to find the motors you want to use, then pass the XInput data using the XInput.getRumbleLeft(); or XInput.getRumbleRight(); functions. How to drive a motor with an Arduino is well beyond the scope of this tutorial, though.
So would it be possible to utilize parts of this control just one of the buttons on the controller itself rather than it be a complete emulator? I am trying to reconfigure one of my controllers where the controller feeds to the xbox the user input that is actually coming from a code being run on the arduino.