It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
With the arrival of X-Wing and TIE Fighter here on GOG, and the requirement for a joystick with the Windows versions of the games, I decided to see what can be done about emulating joysticks with mouse and keyboard. I had tried this previously with X-Wing Alliance but never got anything working, so I remained with the standard XBOX 360 controller setup. Part of the problem was that PPJoy had no signed driver and I'm on a 64-bit Windows OS.

Anyway, revisiting this subject now I've found that PPJoy has been superseded by vJoy which is a signed driver. I've installed vJoy and I've used evilC's Universal Joystick Remapper (an AHK program) to take input from my 360 controller and send it to the vJoy controller. All this works fine, until I get in game.

Testing with X-Wing Alliance, the setup does point to the vJoy virtual joystick, and though I can enable/disable buttons on the controller, the thumbstick and trigger axes never seem to remap. I wanted to add a deadzone to them (as the Windows 360 controller driver has no deadzone settings) and I wanted to flip the RX and RY axes as taking the XInput from the controller and outputting it to DirectInput for the game results in RX being the vertical right stick axis and RY not mapped (due to a limit of DirectInput axes).

All of this works fine in Windows as I can see the vJoy calibration tests working as desired. However, as mentioned, when playing X-Wing Alliance the axes don't seem to map and I am stuck with same X, Y, Z and RX axes from the standard 360 controller driver.

So, any idea what is going on?


Additionally, does anyone know how to map mouse functions to vJoy axes and buttons? If that can be done then maybe I can get X-Wing Alliance playable with mouse and keyboard which can then be used for the Windows versions of X-Wing and TIE Fighter.
No posts in this topic were marked as the solution yet. If you can help, add your reply
Nobody here has used vJoy?
I find vJoy very interesting but if they don't supply any proper documentation it's shooting in the dark.
When I install it everything seems to work but I don't see how I can bind the virtual joystick to my mouse for example.
avatar
Strijkbout: I find vJoy very interesting but if they don't supply any proper documentation it's shooting in the dark.
When I install it everything seems to work but I don't see how I can bind the virtual joystick to my mouse for example.
Yeah, that's the thing. To do the binding you need a feeder program that you have to code yourself, and the documentation isn't great. >_<

I did find Universal Joystick Remapper that a guy called evilC created using an AutoHotKey executable. This works great to remap an existing game controller to the virtual joystick, but I can only get it to work in Windows, as in game (I've only actually tested with TIE Fighter (DOS and Windows) and X-Wing Alliance) the axes are still those of the physical controller, not the virtual one.

I also read somewhere that FreePIE (a successor to GlovePIE I think) has vJoy libraries in it so that you can use that send the messages to the vJoy driver, but again it is a matter of knowing how to code it, this time in FreePIE.

Just wondering if anyone has already been through this and got something working.
Well, somehow I managed to get vJoy + UJR to work with my 360 controller. I think it must be a Windows issue as I can't make much sense of what I've found.

Basically, I played X-Wing Alliance with the vJoy as the selected controller and I still had the unaltered axes from the 360 controller. Then I quit the game, switched the settings to the 360 controller and loaded up the game again. This time, for some unknown reason the altered axes (deadzone and swapped RX/RY) were working as per the vJoy + UJR settings, exactly what I wanted.

Next I tried to repeat this but then no matter whether I selected vJoy or the 360 controller I was getting the standard 360 controller axes again.

So I messed about with the preferred controller for older applications setting in the control panel. Initially it didn't work, but for some reason continuing to change the setting (eventually with vJoy as the preferred controller for older applications) and vJoy as the selected controller in X-Wing Alliance and it was working again.

I have to say, with the deadzone and swapped RX/RY to give a more natural roll function, the game felt so smooth to control, no more drifting.

Then I booted up TIE Fighter (Windows 1998 version) and that no longer has any drift from the 360 controller. However, the deadzone becomes more noticeable in that game as movement becomes sudden. Still, a lot better than drift.
Well, I think it was due to Windows treating both the 360 controller and vJoy as device controller ID 1, so both were trying to take control. Having now set vJoy as the preferred controller, plugging in the 360 controller gets that as device controller ID 2, and with the games set to use vJoy they seem to work fine.

Wish I could mark my own post as a solution now that I believe I've found it.