Jump to content

Recommended Posts

Posted (edited)

Il-2 supports up to 8 devices. It's possible to exceed that limit, either because you have multiple vjoy devices, have racing gear attached in addition to your flight hardware, or maybe you just went a little wild building your home cockpit. This is a short guide to fixing that problem.

 

If You Only Need to Hide Devices from Il-2:

 

Download devreorder. This is a wrapper around directinput that lets you control which devices are visible to a program, and in what order. Extract it and copy the 64 bit version of dinput8.dll to ...\IL-2 Sturmovik Battle of Stalingrad\bin\game\ . Copy devreorder.ini to ...\IL-2 Sturmovik Battle of Stalingrad\data\ .

 

Open devreorder.ini in your favorite text editor. We're going to tell this dll what devices to allow.

 

Run DeviceLister.exe and copy the entire contents to underneath the [visible] header in the ini file. Now:

 

* Delete any devices you don't want Il-2 to see. Racing gear, unused controllers, vjoy devices for other games.

* Edit each line to contain either the unquoted name of the device, or the UUID (if it does not have a unique name). For example, here is mine:

 

; Vjoy #1 and #2. These devices have the same name, so I identify them by UUID, and I comment them, so I can remember what they are later.
{c5a7e3f0-18f5-11ea-8005-444553540000}
{c7ebe430-c56b-11eb-8002-444553540000}
Saitek Pro Flight Rudder Pedals
; arduino bb
{05c469d0-6851-11eb-8001-444553540000}
Logitech Dual Action
 VKB-Sim Gladiator K 
TWCS Throttle
LEFT VPC Throttle MT-50CM3

Now we're almost done, but we need to clean out the old devices.txt. I've had problems when I just deleted unwanted lines, so my current process is as follows:

 

* Make a backup of ...\IL-2 Sturmovik Battle of Stalingrad\data\input\ , then delete the original.

 

* Launch Il-2, then exit. This will re-create the entire input\ directory. Open devices.txt and verify that only the expected devices are present.

 

* Copy current.actions, current.responses, and current.map (Edit: and, as of late 2022, also global.actions, global.pitch, and custom\) from your backup to the new input directory.

 

* Open both the old and the new devices.txt in your favorite text editor. In the new version, rearrange and renumber lines so that devices keep their old numbers. For example, if my throttle was previously number 5, I would move that line to the 6th position in the file, and adjust the device number accordingly.

 

* Make sure every nonempty line in the new file is terminated by |, except for the last line, which has no terminator.

 

* Don't forget when you buy a new device that you'll need to add it to devreorder.ini, too.

 

Now save and relaunch. If you've done everything right, Il-2 should see only the devices you specifically enumerated, and your existing devices should have retained their numbers, meaning that you won't even need to rebind everything.

 

If You Want to Use More Than Eight Devices With Il-2:

 

This is trickier. Basically, you want to use vjoy and joystick gremlin to pack multiple physical devices into one virtual device. For example, if your throttle has four axes, and your rudder pedals have three, you can use Joystick Gremlin's remap functionality to map all seven of those axes to the axes of a single virtual device, and also map the buttons to this device. You can then follow the instructions above to hide both physical devices, letting Il-2 see only the vjoy device.

 

I haven't actually used this technique with Great Battles, but I've found it invaluable for 1946 and CloD, which have four and six device limits, respectively.

 

 

(@Brizzly, I believe this is relevant to you).

Edited by Charon
Updated for per-plane profiles
  • Like 8
  • Thanks 7
  • Upvote 3
Posted

Looks useful, thanks.

  • 7 months later...
Posted

That's an interesting post Charon, thanks. I appear to be having issues where some key bindings don't work or behave oddly so I'm wondering if I have too many devices in use. I am mostly able to get IL2 running with all of them but it appears I may have to look more closely as I get times when I can't.

 

With regard to the eight devices, I totalled up those I use that have an effect when flying and I get eleven. I'm not sure if all are counted in the permitted eight though as they aren't all controllers. Are you able to say which are usb devices recognised by the game and which would have no effect on the permitted eight?

 

Programmable Usb devices

1. Saitek X52

2. Saitek ProFlight rudder pedals

3. Saitek Proflight throttle quadrant 

4. Saitek Proflight throttle quadrant

5. Saitek Proflight throttle quadrant

6. Corsair mouse

7. Corsair keyboard

Non-programmable in game usb devices

8. TrackIR (not programmable in game but game probably sees it?)

9. Realteus Forcefeel haptic seat using SimShaker Wings programme (uses telemetry from game to use it) 

 

 

Non-usb using programmes:

10. Matric for Android (to have button pages on my mobile, used for comms with AI, flares, views) https://matricapp.com/

11. IL2 Dials (uses information from game to allow dials on a second screen) 

  Cheers

 

Sid

Posted
17 hours ago, SidtheGit said:

With regard to the eight devices, I totalled up those I use that have an effect when flying and I get eleven. I'm not sure if all are counted in the permitted eight though as they aren't all controllers. Are you able to say which are usb devices recognised by the game and which would have no effect on the permitted eight?

 

Programmable Usb devices

1. Saitek X52

2. Saitek ProFlight rudder pedals

3. Saitek Proflight throttle quadrant 

4. Saitek Proflight throttle quadrant

5. Saitek Proflight throttle quadrant

6. Corsair mouse

7. Corsair keyboard

Non-programmable in game usb devices

8. TrackIR (not programmable in game but game probably sees it?)

9. Realteus Forcefeel haptic seat using SimShaker Wings programme (uses telemetry from game to use

 

 

Non-usb using programmes:

10. Matric for Android (to have button pages on my mobile, used for comms with AI, flares, views) https://matricapp.com/

11. IL2 Dials (uses information from game to allow dials on a second screen)

 

 

The 8 device limit is just for joystick-type devices. So Mouse, Keyboard, TrackIR don't count. The haptic seat and dials also don't count (I'm not sure how they get their data; UDP?). I'm not sure about Matric, it could present as a USB device or it could just simulate keypresses.

 

You can check input\devices.txt to see which joystick-like devices the game is aware of.

  • Thanks 1
Posted

so there is no other way than to use 8 devices?
I have to download this program?

 

 

thanks anyway for the solution suggestion

Posted

As far as I know, 8 devices is still the limit.

  • 1 year later...
Posted

That saved my life in BoX but could it be also applied to CloD? 

Posted

@KGJ54Lord_Pyro I've done the same general thing with CloD in the past, but it has been a few years and I don't recall the details. At the time, a tool like devreorder was needed to keep CloD from periodically messing up control bindings; I don't know if that bug has been fixed.

  • Upvote 1
Posted

It works! Finally i can start to fly in CloD again :)

Posted

It sounds like hid hide.. I just use the hated TARGET GUI & SCRIPT for IL2 & DCS. When I start up GUI for IL2 it combines my WH throttle, stick and Viper Panel into one "TM Combined" keyboard looking device. Then it sees the WW PTO2, BlackHog A, Master Arm Panel, and K51 trim box, and finally the Crosswinds pedals. If I need it I use Joy2key to program these devices. (Sequences, Delay commands, and axis to button).

 

SCRIPT does the same for DCS, but it doesn't really care how many devices, and I'm using the updated Sedenion Complete 120 dx button hack with it (it includes TQS & Viper Panel to the device menu) so it still does the "TM Combined" in dx.

 

Thank you for your hard work on this, it will work wonders for WH users who don't use TARGET GUI in IL2. 

 

:drinks:

 

Posted

What about button boxes? Sequential shifters for sim racing? Do they count as one of the eight input devices allowed? Or since they have no joystick like axis like a stick, throttle, or rudder pedals they don't count?

 

I have 2 button boxes I currently use for random stuff for more immersion other than the keyboard, and I also use my Aiologs Sequential Shifter for gear up and gear down. I was thinking about getting their E-Brake as well, and they have a new manual shifter on the horizon too that looks awesome. All of these could double for cool flight sim buttons as well as racing. But I don't want to go over my device limit in this sim.

Posted

@kestrel79 Button boxes will count against the limit. I've never used the 'Aiologs Sequential Shifter', but they advertise it and the E-brake as "USB HID Joysticks", so they will count as well.

  • 3 months later...
Posted (edited)

So, I was trying this again, as it worked perfectly in the previous versions on Il-2, but now it has stopped. I returned after a small... long... hiatus on il-2 and my bindings are all out of whack. The simulator can't even see "Thrustmaster Combined" and I suspect it is not reading "dinput8.dll" anymore.

 

Does anyone know any alternatives, because I have more than 8 devices... heh!

 

EDIT: For anyone reading this, the solution is here:

 

Edited by DrJester
Posted
2 hours ago, DrJester said:

The simulator can't even see "Thrustmaster Combined" and I suspect it is not reading "dinput8.dll" anymore.

IIRC it's possible that some operations (updates, maybe a 'repair installation') will overwrite the dll. Does it start working if you re-download the modified dll and replace it again?

Posted

Yep, did that, replaced it with a new x64 copy.

 

I checked the .EXE using MiTec EXE Explorer, and it shows it is not using the dinput8.dll anymore, but input.dll.

 

So, basically this work around may not work anymore.

 

image.thumb.png.9ac85e30a96fd550672b3b5e624fca15.png

 

Posted

Yep, guilty... more money than sense. Thank goodness for the 128dx upgrade...

I've only got eight connected, nine if you count TIR because the game sees it. And I'm not counting the F-16 stick and Crosswinds not in the picture.

 

20240627_123351.thumb.jpg.823065cbca718238cd2d855cf21a11a4.jpg

 

And no, I do not need an intervention.

 

:drinks:

  • Like 1
Posted

image.png.7b3ea9a914c1c0037fcf9c2b6224cb10.png

 

Odd, process explorer shows that both are loaded for me.

Posted (edited)

You are absolutely right. For some reason it did not show as reading dinput8.dll on the EXE Explorer. I enabled the dbgview.exe as suggested in some posts on the devreorder github page, and I noticed it loading. But for some reason it still keeps throwing me the default or windows device order.

image.png.9639a0f032a7ae92857930a790913135.png

 

Edited by DrJester
Posted

Update, it seems I finally managed to solve it. Turn out, following the instructions from the devreorder is not correct, as the game seems to read, or at least seems to take priority if one places the "devreorder.ini" at "...\IL-2 Sturmovik Battle of Stalingrad\data\ " and not  next to the dinput8.dll.

 

Odd, as before this wasn't a problem, so much so I just booted the game as it was installed since the last day I flew with it. But this works, so can't complain.

 

 

  • Upvote 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...