U J R - Universal Joystick Remapper - Any Stick With Mwo Via Virtual Joysticks
#41
Posted 02 March 2013 - 10:38 AM
This one does not work with AutoHotkey, but it does have libraries for C++ etc.
I was thinking of moving UJR to C++ or something like that, so if that comes to fruition, I am sure that I could make it work with the other vjoy, so giving a version which does not require test mode.
This is not likely to be in the near future though. 6 months at least probably. Unless there is someone else out there with C experience who can guide me through the C/C++/C#/WPF/Forms minefield that currently lays before me.
#42
Posted 03 March 2013 - 03:05 PM
#43
Posted 04 March 2013 - 02:19 AM
Getting there without needing testmode is of course a bonus, but then again im not bothered a whole lot about it saying "testmode" at the bottom of the screen.
Just adding again, evilC you are doing one helluva job here, impressive to say the least!
#44
Posted 04 March 2013 - 01:28 PM
Quote
Players will now have more options with regards to how they pilot their BattleMechs. Several new control systems and improvement have been added including Throttle Decay (gas pedal vs set throttle), Arm Lock to torso, Set Point Throttle (10-100% throttle values in 10% increments), Face Torso, and Joystick Analog turning. Player will also be able to customize their key bindings via the Pause Menu during matches.
#45
Posted 04 March 2013 - 02:47 PM
#46
Posted 05 March 2013 - 03:08 PM
#47
Posted 08 March 2013 - 04:22 AM
#48
Posted 08 March 2013 - 08:25 AM
ego1607, on 08 March 2013 - 04:22 AM, said:
Not had anyone report whether win8 works yet or not.
Does UJR correctly operate the virtual stick?
You can test this by opening game controllers and previewing the status of the virtual joystick. Can you get it to move around?
If that works, I see no reason why the game should not recognise it.
#49
Posted 08 March 2013 - 08:34 AM
I'm writing to document my experience with setting up UJR for Windows 8 to work for the xBox 360 Controller. Out of box, the controller works, but has an inverted axis (Y-axis) which also bounces, and has a Z-axis also mapped to LMB, leading to all sorts of entertainment. There is also issues with the rate of rotation for the upper torso, but that's not strictly solvable right now to my limited understanding.
So to start off:
1. Yes, UJR/ vJoy/ AHK does work in Windows 8. But there are some tricks. The problem is mainly vJoy due to the unsigned drivers. But -- read this:
http://vjoystick.sou...indows-8-64bits
The tricky part is this -- the disabling of the check for signed drivers do work, there is a significantly different UI when doing the installation. The installation would report failure. But you have to check the log file indicated, if it reports a success, vJoy would work anyway.
Of course, I am saying this without having rebooted my system after the install, so if I reboot and my vJoy suddenly become v-no-Joy, I'd be eating my hat. Lucky I don't wear one.
AHK and UJR installs with no problem.
2. Then it gets to configuration. Before we even get to vJoy, we need to settle the Windows devices. What I see is my xBox controller, and a "vJoy_raw_device_00", which would show up as a Game Controller. If you go into the various properties, you eventually can find a menu to decide which is the default controller. Changing that to vJoy would (AFAIK) change vJoy to UJR's Physical Stick 1.
It's a good idea to always read UJR instruction to detect the joystick anyway, but if you, like me, decided to change this in the middle of a Testing Ground session, you can at least explain why your buttons and axis suddenly decided to not work (because the associated physical stick has been renumbered by Windows).
3. vJoy configuration, you have to match to your joystick. For the xBox Controller, you would need the following:
- X, Y and Z axis (Z axis unused -- explanation later)
- R/ Rz/ Rudder
- Rx and Ry axis
- 4 direction PoV (not supported but what the heck.)
- 10 buttons
- Target Device 1 (may change)
- First, figure out which physical stick you are using.
- On the Xbox Controller:
- Axis 1 is the upper left thumb stick's X-axis.
- Axis 2 is the upper left thumb stick's Y-axis. You need to invert this as the default have you pulling back to go forward. Suggested value is 25% deadzone and 90% sensitivity, though I doubt the sensitivity do squat.
- Axis 3 is the two big triggers underneath. Yes that's an axis. It's not very useful because the right trigger is also somehow tied to respond with a LMB equivalent.
- Axis 4 and 5 is the lower left thumb stick's X and Y axis.
- Buttons 1 through 10 can be found via experimentation. 9 and 10 are the thumb stick clicks, so don't forget them.
- PoV Hat doesn't work, but don't worry about it. I'll get to that.
5. At this point you have a vJoy that mostly works. So time to configure the MWO joysticks.
MWO defaults assume two joysticks, joy0 and joy1. Because of the way UJR is programmed, you will have two joysticks. The vJoy, which I set to joy0, and joy1, which in this case is the actual xBox Controller -- MWO still detects the physical hardware. Two things implied:
A. You can use the PoV Hat on the Xbox because that UJR doesn't block it and MWO detects it as joy1 POV hat.
B. Occasionally the physical joystick is detected even if you are using the vJoy. Double check that all the controls are using joy0 and not joy1 (or whatever you have).
Because of the weird *** way Microsoft or MWO decided to interpret the xBox right trigger signal, the Z-axis triggers are fairly useless. Except that it's still a LMB signal, so you might as well map the Z-rotation on joy0 to "Fire current selected weapons group".
I have the following setup right now:
- X-axis to turning
- Y-axis to throttle
- Button 9 (Upper left thumb stick click) to reversing throttle
- X-rotation to twist
- Y-rotation to pitch
- Z-rotation to shoot current selected group
- Button 10 (lower right thumb stick click) to opening weapons door
6. Then finally, a lot of fine-tuning. What I ended up with:
- X-axis to turning; 50% sensitivity (which may not matter).
- Y-axis to throttle; inverted; 25% deadzone, 90% sensitivity.
- X-rotation to twist; 10% deadzone, 100% sensitivity.
- Y-rotation to pitch; 10% deadzone, 100% sensitivity.
Deadzone is very important for the xBox Controller. In particular, the throttle is exceptionally sensitive to "bounce", so the throttle keeps going all over the place without a deadzone. Even with a deadzone, it still is a bit problematic, but workable.
Pitch and Yaw needs a bit of deadzone, otherwise your crosshair will bounce all over the place. Experiment to see what works for you.
7. Feedback on UJR under Windows 8: panel is now squished. Can still work, but not resizable so a bit harder to work with.
Going for a restart to see if I encounter any issues after a reboot. Will update if there is issues.
#50
Posted 08 March 2013 - 09:19 AM
is there a way to set y axis to be set to 0 and not 50% in neutral position, so I can use it as a throttle?
#51
Posted 08 March 2013 - 09:52 AM
Turns out, Windows 7 and Windows 8 both tightened out on malicious drivers quite a bit. So in this case vJoy got caught in the crossfire.
The method used above just disables the check once, for you to install. At the next reboot, the check will apply again and any installed drivers will be disabled.
So, yeah. Test Mode. https://freevps.us/thread-6845.html
Specifically:
Quote
- 1. Open the Windows command promt as "Run as Administrator".
2. Run "bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS" (without the "").
3. To finalize the process run "bcdedit -set TESTSIGNING ON" (without the "").
4. Reboot and you're done.
2. "bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS" (without the "")
3. "bcdedit -set TESTSIGNING OFF" (without the "")
Then do step 4 and you're done.
Don't do it if you have a tendency to install things from everywhere. I don't, so safer. You do the above at your own risk!
And to address something I missed out.
Is the performance worth it? In a word, no. With digital turns and throttling, you simply get more responsiveness from a mouse and keyboard. Turns and twists are slow with a controller/ joystick. The hope is that the upcoming analog turns etc. will do justice to this.
Edited by Lynx7725, 08 March 2013 - 09:54 AM.
#52
Posted 08 March 2013 - 01:42 PM
ego1607, on 08 March 2013 - 09:19 AM, said:
This is a game setting, not a UJR one
in your user.cfg, The line
cl_joystick_throttle_range = 0
alters the behaviour of the throttle so that neutral is stop, up is forwards and down is reverse.
By default, down is stop, up is full forwards and there is a button to go into "reverse" mode.
#53
Posted 08 March 2013 - 01:46 PM
I wouldn't mind using a throttle and mouse, but without analogue turning, it is pretty pointless.
Despite writing UJR, I do not use joystick in MWO for now - I wrote UJR for the people who cannot or will not use mouse, to give them at least some chance to play the game; I was not expecting controls to be fixed so soon.
#54
Posted 08 March 2013 - 08:59 PM
The settings provided by PGI were rough, but made things a lot better. Still not s good as mouse and keyboard but much much closer. You'll need to inverse some inversed axis, but otherwise throttle control is infinitely better (though ends up being gas pedal), and torso twists and pitch are markedly better, but not great.
I'm still running feeds through UJR because at the moment you can tune things on the fly. You need to ballpark the user.cfg numbers in first, then use UJR to fine tune.
#55
Posted 12 March 2013 - 01:11 PM
HOTAS Warthog as one Joystick.
Saitek Combat Rudder pedals mapped to UJR.
Now in order to tweak the rudder control it should theoretically be possible to adjust its' axis sensitivity curve, should the need arise.
So I would stick the rudder on UJR and tweak its' response that way, as the Mad Catz software (Thrustmaster do not integrate a rudder into their setup) is ineffectual to say the least.
What do you think? Might I also say for that reason alone UJR may have a greater longevity than you think. So see what you can do about development.
And thank you for the effort so far
#56
Posted 13 March 2013 - 06:35 AM
I would imagine that you could map the warthog to UJR, and use both TARGET and UJR in tandem - if TARGET passes an axis or button through to windows, you could tweak it via UJR or leave it alone, and if you remap a button to a key in TARGET, then UJR would not "see" that button.
I have a prototype of UJR working in C#, I just need to work out how to get a C# "WPF" application to keep processing input even when it is not the active window. Once I have that sorted, I see no real barriers to a more fully-fledged version of UJR.
#57
Posted 14 March 2013 - 05:48 AM
All the same this is a great tool. It could also stand promotion on SimHQ.com and similar forums.
#58
Posted 19 March 2013 - 02:56 PM
#59
Posted 19 March 2013 - 03:17 PM
#60
Posted 11 April 2013 - 01:12 PM
Ikester, on 19 March 2013 - 03:17 PM, said:
In my setup I had to change the joystick curve from a linear one:
To a nice gentle curve...
Perhaps EvilC could make a linear/Log checkbox for the axis (would require a recalibration if checked/unchecked).
Assuming that controller.AimingX and controller.AimingY is a value from 0-255
and axisx and axisy are what the program outputs/uses
Here is the code snippet that worked for me...
xaxis = (127-controller.AimingX); xaxis = ((-1*xaxis)*xaxis); if (controller.AimingX >= 128) { xaxis = xaxis*(-1); } yaxis = (127-controller.AimingY); yaxis = ((-1*yaxis)*yaxis); if (controller.AimingY >= 128) { yaxis = yaxis*(-1); }
Just a simple adjustment of the axis value to x^2 gives much more control in the middle of the stick and still allows full speed movement when the stick is near its maximum range. The downside is that since I do not scale the values back down a recalibration is required.
Edited by von Pilsner, 11 April 2013 - 01:20 PM.
11 user(s) are reading this topic
0 members, 11 guests, 0 anonymous users