A program to combine axes and buttons from up to 8 joysticks into one 8 axis, 8 button virtual joystick.
It is not an MWO app, it will work with any game, but it may evolve MWO specific features.
If the joystick you wish to use appears in Windows' game controller list, it will work with UJR.
Why would I want it?
- Your joystick is not recognised by the game
- Your joystick is recognised, but an axis is the wrong way around and you cannot fix it.
- You have deadzone issues - mech always turning etc.
- You have a throttle, but want stop to not be in the middle of the axis, but a third from the bottom. (Planned feature)
- You want to use two devices for a game (eg a pedals and a stick/throttle) for a game but it only supports one joystick at a time.
- You want a specific feature, but lack the knowledge to write such a thing yourself. The code is pretty easy to understand and you just need a text editor.
- 8 Axis, 32 Button virtual joystick
- Controlled by up to 8 physical joysticks
- Invert any axis
- Set a DeadZone for any axis
- Adjust sensitivity for any axis
- Settings saved between uses
- "Manual Control" mode to control the virtual joystick via the UJR GUI
Use this when the game detects the underlying physical stick instead of the virtual one - enable "Manual Control", tab into the game, double click the bind button, tab out, manipulate the desired input with the GUI, tab back into the game and it should recognise the change in the state of the virtual stick and bind it.
- Uses the free open source app vJoystick to create a virtual joystick
- UJR is written in AutoHotkey, an open source macro app - it sends instructions to vJoy
- Configure UJR to tell it which physical joystick axis/button controls which axis/button of the virtual joystick - each axis and button of the virtual stick can be mapped to a different physical joystick
Yes, if you add a cool new feature, or know a better way of writing a bit of the code, please let me know!
Cool! Where can I get it?
Warning: Win7 x64 supported but you need to enter Test Mode (Enable unsigned drivers)
http://evilc.com/fil...hk/vjoy/ujr.zip
See the Readme.txt file in the zip for full instructions.
===================================== 8< =====================================
Changelog
Key:
! : Warning
* : Comment
= : Change / Fix
+ : Added feature
5.0 20th Nov 2013
* Rewrite using my ADHD library.
! Now intended to be used when compiled to an EXE - You no longer need AutoHotkey installed.
! Old profile files are NOT COMPATIBLE.
However, it is just the groups etc in the INI that will not work right.
If you create a new profile, exit UJR and paste in the contents of the old profile, it may well work.
= Manual Control is gone, replaced by QuickBind
= Profile support improved
= Less tabs
= Improved hat switch support (QuickBind supports hats, whereas Manual Control did not)
= Detect Axis gone for now, it will probably return
4.3
+ Basic support for Hat (POV) switches in.
Only "Continuous" hats supported for now.
Hats have no "Manual Control" mode for now
4.2
= Duplicate in profiles was always duplicating the Default profile, no matter what you had selected - fixed.
+ Added Delete Profile button
4.1
+ Duplicate profile added.
4.0
+ Profile support added.
INI file format changed, there are now two INI files - one for misc settings, one for profiles
Existing mappings are kept and moved to the default profile
Manual profile switching only for now...
3.2
+ The first physical POV Hat can now be mapped to virtual buttons. AHK only supports reading one POV :(
3.1
+ Sensitivity option for each axis.
3.0
! Please note that the format of the config file has changed, the program will back your old one up
= Fixed bug stopping button mappings not saving
= Improved UI layout, labels etc
= Major cleanup of code - now much more understandable
+ GUI position now saved in config file - when you close the app, next time you reopen it, it will be in the same place on your desktop
+ Only settings changed from their default setting are stored in the config file
+ Detect axis button! Use this to try and find out the stick ID of a physical stick.
Instructions now simplified
+ Experimental - Merging of axes
eg Merge two pedal axes into a rudder axis
2.3
+ Much improved deadzone code
So with a 50% deadzone, if you move to 50 on an axis, it will be dead, but moving to 51 now outputs 1 rather than 51
+ Deadzone is now a text input field, so you can use any value you like
+ Input / Output slider renamed to "State"
+ Input and Output values for axes now displayed
+ Much more commented code
2.2
+ Added per-axis deadzone settings. Just 5,10,20,30,40,50,60,70 or 80 percent at the moment but I intend to allow any figure in a future version
2.1
= Fixed bug stopping UJR from working on 64-bit AHK installs.
= Fixed bug stopping mapping of virtual axis 4 or greater
+ 32 Buttons listed for physical joystick
2.0
+ Now uses Axlar's vJoy library (http://www.autohotke...to-control-vjoy)
+ Now uses vJoy 2.x - Support for up to 32 buttons
You will NEED to uninstall vJoy 1.x and install 2.x to use this version
1.1
= Code for button testing no longer has one subroutine per button
= Optimised technique for inverting axes - thanks Babba on AHK forums!
1.0
* Fully functional basic version!
= Fixed bug stopping invert working in Manual Control mode
+ Button mapping in
0.3
+ Settings now saved in an INI file
0.2
+ All 8 axes now mappable
+ Code optimisations
0.1
- Initial Proof of concept
Edited by evilC, 20 November 2013 - 01:07 PM.