Start the game and choose as keyboard profile “T.Flight.X” and as controller “DirectInput Vjoy Device”, keep the boxes “invert pitch” and “invert roll” unchecked and choose the lowest possible sensitivity in the controller sensitivity slider.
Play game with T.Flight.X and lose to mouse players.
This method can also be used to use two single devices (sticks) with the current Prototype. @Zen
UJR is an application to remap one or more physical joysticks onto one virtual joystick.
It supports axis inversion, deadzones, sensitivity, axis merging and more.
Also on the vJoy download page. Click the big green “Download” Image and don’t accidentally download the older versions further down. (Happened to me )
My modified version of Universal Joystick Remapper:
Sorry it took a few days. My changes were originally against UJR 6.6 and I wanted to update them to 6.10, but my original changes weren’t in git.
In these screenshots you can see that there are now 4 configurable deadzone areas for each axis. Hopefully it’s clear enough what they each do (at least if you experiment a bit).
Plus there is a new merge mode ‘Scale’ which you can use to enter a sort of ‘Fine Control’ mode.
In the bottom screenshot I have my Y axis pushed fully forward so it’s value would normally be 100, however I have it merged with physical axis 3 (a slider) in scale mode, and axis 3 is at 50%, therefore the final value for the Y axis is reduced by 50% to make it 75.
(Y axis rests in middle at 50, so half of 100 is 75. If I pulled Y axis fully back, it would be 0 before scaling, 25 after scaling.)
I plugged my old Saitek Cyborg 3D joystick in and tried out the throttle slider in game.
It’s detected fine, but there is no appropriate event to map it to.
I tried mapping it to DeltaTargetSpeed however, as expected this results in my slider position setting the delta (ie rate of change) of my target speed, rather than my target speed itself.
This could be perfect if someone wanted to use a throttle and brake pedal to control their flight assist target speed: You accelerate while pressing the pedal, then when you take your foot off the axis output is 0 so the target speed stops changing but remains where it is.
@INovaeFlavien, if it’s not too much trouble, I’d like for there to be a TargetSpeed ‘event’ added that could be mapped to an axis such that:
A value of -1 would mean target speed = stop.
A value of 0 would mean target speed = 50%
A value of 1 would mean target speed = 100%
This is effectively an analogue version of TargetSpeed0 through TargetSpeed9.
I’ve just had an idea… I think it could be really useful to have one key or axis do something different depending on whether flight assist was on or off. This could be specified by another attribute in the XML.
Eg:
It starts to get pretty complicated, first of all because the input / mapper doesn’t know anything that is game-specific ( it’s part of the engine, not the game ), and secondly because it’ll make the GUI menu / window ( when we’ll implement it ) pretty complicated. I’m afraid it’ll scare first time users…
Interesting. So the game registers events with the engine, and the engine maps the inputs onto the events? Or something like that?
I imagine the easiest to implement would be having the game listen for two more events for each existing one: ShipZ_FAon and ShipZ_FAoff, TargetSpeed_FAon, etc.
However, it sounds like the most consistent with your current architecture might be to have alternate input modes handled by the engine that the game doesn’t even have to know about.
I’ve intentionally used Space to toggle input scheme as well as toggle flight assist so that they switch at the same time, however you could obviously use different keys.
I’m sure an intuitive GUI can be designed, just ask your community!
I tried with a X-box one controller and a Logitech Extreme 3D Pro. They were both detected they both
did not seem to work exactly right. Now my key bindings and mouse do not seem to be correct.
[Q] and [A] have switched.
How do you go in and set the key binds for key board and the HOTAS and please make an example so that
even I can follow what to do. And not mess it up !
Xbox controllers are supported by default, just use the gamepad settings or use this profile which I very like:
To change keybindings you have to edit your custom keybindings xml file with a text editor, the values are self explainatory. You can also use the detect input tool which is now somewhere in the games folder. I hope that helps.
Speaking of joysticks, we’ve detected a conflict bug between multiple devices that was introduced a couple patches ago. It’ll be fixed in the next patch ( in a week and a half ).
Its not necessary anymore. Works fine without it.
Here is a working profile for it:
Just put that in your “C:\Users\Username\Documents\I-Novae Studios\Infinity Battlescape\Profiles” folder and choose it in the launcher. The profile is made for the T.Flight Hotas X when it is connected in PS3 mode to pc.
Just toggle the switch on the backside from “PC” to “PS3” and connect it to the pc.(was easier to configure, but you can also make your own profile in PC mode)
Here is a short list:
escape - toggle keymapping screen
F1 - cockpit camera
F2 - outside camera
SE Button - Leaderboard
ST button - game menu
Stick:
stick - yaw and pitch
twist and shoulder whip - roll
hat stick - up and down and strafe movement
fire key R1 - primary fire
fire key L1 - secondary fire
L3 Stick key - missile fire
R3 Stick key - chaff fire
Throttle Stick:
throttle - throttle twist and shoulder whip - roll
Backside R2 button - target center
Backside L2 button - target none (holding the button and moving the right stick also lets you change your view)
Thumb button 8 - boost
Thumb button 5 - system menu
Thumb button 6 - weapons menu
Thumb button 7 - comms menu
You can have up to 4 devices. I have a Thrustmaster Warthog Joystick, Warthog Throttle, Saitek Rudder Pedals, and a vjoy device linked to TrackIR. I use VoiceAttack to manage weapons and systems.
My I:B profile is Warthog.xml. Place this file in the C:\Users<YourUser>\Documents\I-Novae Studios\Infinity Battlescape\Profiles directory.